Randomized movement control

JP7880436B2Active Publication Date: 2026-06-25SUPERCELL

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
SUPERCELL
Filing Date
2023-04-12
Publication Date
2026-06-25

Smart Images

  • Figure 0007880436000001
    Figure 0007880436000001
  • Figure 0007880436000002
    Figure 0007880436000002
  • Figure 0007880436000003
    Figure 0007880436000003
Patent Text Reader

Abstract

A method implemented on a computer is disclosed. The method includes generating a GUI (203, 300, 400, 500, 600) and displaying it on a display screen (202) of a device (200); receiving, on the GUI, a request to move an object group (206, 302, 402, 502A-C, 602) to a target area (208, 304, 404, 504, 604); detecting when an obstacle (210, 212, 306, 308, 406) is in a path between the target area and the object group; generating an instruction to control the movement of the objects of the group (206A-E, 402A-C, 602A-C) in a randomized manner when it is detected that the obstacle is in the path; and executing the instruction to control the movement of each object from its starting position to the target area on the GUI.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The disclosure of the present application (hereinafter referred to as the present disclosure) relates to a computer-implemented method incorporating randomized motion control. The present disclosure also relates to an apparatus incorporating randomized motion control. The present disclosure also relates to a system incorporating randomized motion control. Background

[0002] Generally, a graphical user interface of a software application involving the movement of an object from one position to another with one or more obstacles in the path therebetween may present an unpleasant user experience scenario. One such scenario includes overlapping multiple objects one by one while moving a plurality of objects from one position to another when the object passes through the space between two or more obstacles or bypasses an obstacle.

[0003] Normally, to perform such a function on a graphical user interface, as one method, all objects are allowed to pass around (i.e., bypass) the obstacles or pass through a narrow passage between two or more obstacles at once. However, in this case, in the generated graphical user interface, the objects may be rendered overlapping or some of the objects may become immobile around the obstacles. Therefore, when there is one or more obstacles in the path to the target area, the efficient movement of a group of objects to the target area is hindered. This leads to an unpleasant and unrealistic user interface, breaking the user's immersion. For example, in the case of a simulator simulating the movement of vehicles on a track (i.e., a traffic simulator), the movable objects or vehicles will be displayed overlapping each other. In addition, the movement of such a plurality of objects may overload the system's computing resources and increase the power consumption for calculation.

[0004] In other conventional systems, users must provide separate requests to move individual objects within at least one group, which makes user input complex and cumbersome. Furthermore, users may need to provide input on how to move each object toward a target area, one by one. This significantly increases the system's computational load.

[0005] Based on these discussions, there is a need to overcome the aforementioned shortcomings associated with conventional movement control for objects. Summary

[0006] This disclosure aims to provide a computer-implementable method incorporating randomized motion control. This disclosure also aims to provide a device incorporating randomized motion control. This disclosure also relates to a system incorporating randomized motion control. The purpose of this disclosure is to provide solutions that at least partially overcome the problems encountered in the prior art.

[0007] According to the first aspect, embodiments of the present disclosure provide a method that is implemented on a computer. This method is • To generate a graphical user interface and display it on the device's display screen; - Receiving a request to move at least one group of objects to a target area on the graphical user interface; - Detecting when at least one obstacle exists in the path between the target area and at least one group of objects; and - When the presence of at least one obstacle in the path is detected, generating an instruction to control the movement of objects belonging to the at least one group in a randomized manner, wherein the instruction comprises at least one random variable parameter used during the movement of a given object of the at least one group; • Executing the instruction to control the movement of an object belonging to at least one of the aforementioned groups from its starting position to the target area; Includes.

[0008] According to a second aspect, embodiments of the present disclosure provide an apparatus. This apparatus is Display screen and; Processor and; The processor is equipped with, • To generate a graphical user interface and display it on the aforementioned display screen; - Receiving a request to move at least one group of objects to a target area on the graphical user interface; - To detect when at least one obstacle exists in the path between the target area and at least one group of objects; - When it is detected that at least one obstacle is present in the path, generate an instruction to control the movement of objects belonging to the at least one group in a randomized manner, wherein the instruction includes at least one random variable parameter used during the movement of a given object in the at least one group; • Executing the instruction to control the movement of an object belonging to at least one of the aforementioned groups from its starting position to the target area; It is configured to perform the following.

[0009] According to a third aspect, embodiments of the present disclosure provide a system including a server communicatively coupled to a plurality of devices according to a second aspect. The plurality of devices cooperate through their respective graphical user interfaces, and the server, Receiving a request from a given device to move at least one group of objects to a target area on the graphical user interface of the given device; - On the graphical user interface of the given device, it is possible to detect when at least one obstacle exists in the path between the target area and at least one group of objects; - When it is detected that at least one obstacle is present in the path, generate an instruction to control the movement of objects belonging to the at least one group in a randomized manner, wherein the instruction includes at least one random variable parameter used during the movement of a given object of the at least one group; • Sending the generated command to the given device; It is configured to do the following: The processor of the given device is configured to execute the instructions to control the movement of objects belonging to the at least one group from their starting position to the target area.

[0010] According to a fourth interpretation, one embodiment of the present disclosure provides a computer program product having a non-volatile computer-readable storage medium storing computer-readable instructions executable by a computer device equipped with a processor for performing the method according to the first aspect.

[0011] Embodiments of the present disclosure substantially resolve, or at least partially resolve, the aforementioned problems of the prior art, enabling the movement of at least one group of objects to a target area to be rendered on a user interface in a randomized manner without requiring specific user input regarding how to move the objects, and enabling the rendering such that multiple objects belonging to the at least one group do not overlap with each other while moving to the target area.

[0012] Further aspects, advantages, features, and objectives of what is disclosed herein will be made apparent by the accompanying drawings and the detailed description of exemplary embodiments, which shall be interpreted together with the accompanying claims.

[0013] It will also be understood that a feature of this disclosure is that it can be combined in various ways without departing from the scope defined by the attached claims. The above summary and the following detailed description of exemplary embodiments will be better understood in conjunction with the accompanying drawings. For illustrative purposes of this disclosure, exemplary configurations of this disclosure are shown in the drawings. However, this disclosure is not limited to the specific methods and apparatus disclosed herein. The scale of the drawings is not accurate. Similar elements are indicated by the same number whenever possible. Hereinafter, embodiments of the present disclosure will be described with reference to the following drawings as an example. [Brief explanation of the drawing]

[0014] [Figure 1] This flowchart shows the steps of a computer-implemented method incorporating randomized motion control according to embodiments of the present disclosure. [Figure 2] Figures 2A and 2B are schematic diagrams of an apparatus incorporating randomized motion control and a graphical user interface for the apparatus, respectively, according to an embodiment of the present disclosure. [Figure 3] This is a schematic diagram illustrating the steps of an implementation scenario for a computer-implemented method incorporating randomized motion control according to embodiments of the present disclosure. [Figure 4] This is a schematic diagram of a graphical user interface illustrating an implementation scenario for a computer-implemented method incorporating randomized motion control according to embodiments of the present disclosure. [Figure 5] Using both Figures 5A and 5B, we attempt to illustrate an implementation scenario of a computer-implemented method incorporating randomized motion control according to an embodiment of the present disclosure. [Figure 6]A schematic diagram showing an implementation scenario of a computer-implemented method incorporating randomized motion control according to an embodiment of the present disclosure. In the accompanying drawings, the underlined numbers are used to represent the item at the location where the number is located or the item adjacent to the number. Non-underlined numbers are associated with the item specified by the line extending from the number. When a number is written without an underline and with an arrow, the number is used to identify the general item indicated by the arrow. Detailed Description of Embodiments

[0015] The following detailed description illustrates embodiments of the present disclosure and the methods by which they may be implemented. Although several forms for implementing the present disclosure have been disclosed, those skilled in the art will recognize that other forms for implementing the present disclosure are also possible.

[0016] According to a first aspect, an embodiment of the present disclosure provides a computer-implemented method. This method includes · generating a graphical user interface and displaying it on a display screen of a device; · receiving a request to move at least one object group to a target area on the graphical user interface; · detecting when at least one obstacle exists in a path between the target area and at least one object group; · generating an instruction to control the movement of the objects belonging to the at least one group in a randomized manner when it is detected that the at least one obstacle exists in the path, the instruction indicating at least one random variable parameter used during the movement of a given object of the at least one group; · executing the instruction to control the movement of the objects belonging to the at least one group from their starting position to the target area; and including.

[0017] According to a second aspect, embodiments of the present disclosure provide an apparatus. The apparatus includes a display screen; a processor; and the processor is configured to · generate a graphical user interface and display it on the display screen; · receive a request to move at least one object group to a target area on the graphical user interface; · detect when there is at least one obstacle in a path between the target area and at least one object group; · when it is detected that the at least one obstacle exists in the path, generate an instruction to control the movement of the objects belonging to the at least one group in a randomized manner, the instruction indicating at least one random variable parameter used during the movement of a given object of the at least one group; · execute the instruction to control the movement of the objects belonging to the at least one group from their starting positions to the target area. The apparatus is configured to perform the above operations.

[0018] According to a third aspect, embodiments of the present disclosure provide a system including a server communicably coupled to a plurality of apparatuses according to the second aspect. The plurality of apparatuses cooperate via their respective graphical user interfaces, and the server is configured to · receive a request from a given apparatus to move at least one object group to a target area on the graphical user interface of the given apparatus; · detect when there is at least one obstacle in a path between the target area and at least one object group on the graphical user interface of the given apparatus; - When it is detected that at least one obstacle is present in the path, generate an instruction to control the movement of objects belonging to the at least one group in a randomized manner, wherein the instruction includes at least one random variable parameter used during the movement of a given object in the at least one group; • Sending the generated command to the given device; It is configured to do the following: The processor of the given device is configured to execute the instructions to control the movement of objects belonging to the at least one group from their starting position to the target area.

[0019] According to a fourth interpretation, one embodiment of the present disclosure provides a computer program product having a non-volatile computer-readable storage medium storing computer-readable instructions executable by a computer device equipped with a processor for performing the method according to the first aspect.

[0020] This disclosure provides the aforementioned method, apparatus, and system. Embodiments of this disclosure aim to control the movement of at least one group of objects in a randomized manner, such that when objects in the object group move toward a target area, the objects in the object group do not overlap if at least one obstacle is present in the object's path. User input is simplified because the user does not need to provide individual requests to move each object in the at least one group. In other words, all objects belonging to the at least one group can be moved based on a single request from the user. Randomized movement control simplifies user interaction with the graphical user interface because the user does not need to provide any input regarding how to move objects toward the target area. Furthermore, such randomized movement control has the potential to reduce the computational load on the apparatus. In addition, the GUI provides a comfortable and realistic user experience without undesirable visual graphics such as given objects becoming immobile or overlapping each other while moving toward the target area.

[0021] The methods described herein are implemented on a computer; that is, the methods are implemented through one or more computing devices (i.e., devices and / or servers). A device is an electronic device associated with (i.e., used by) a user that enables the user to perform a particular task on (or using) it. Examples of computing devices include, but are not limited to, mobile phones, personal digital assistants (PDAs), handheld devices, laptop computers, and personal computers. Depending on the embodiment, the user may be any entity (being) associated with and operating the device and / or server. This entity may be, for example, a human being or a virtual program (autonomous program, software application, bot, etc.). The device is configured to provide a graphical user interface on its display screen. Beneficially, the interaction between the user and the device enables effective operation and control.

[0022] As used herein, the term "display screen" refers to the screen of an apparatus. Typically, a display screen is configured to provide the user with the visual graphics of a graphical user interface.

[0023] As used herein, the term “graphical user interface” (GUI) refers to the space in which the user interacts with the device. Typically, a GUI presents one or more spatially distributed elements. Beneficially, user-device interaction enables effective operation and control. Furthermore, GUIs are designed to allow the user to interact with the device easily, efficiently, and in a user-friendly manner, providing maximum usability and thereby reducing the amount of user input required to achieve the desired output.

[0024] Typically, a GUI can consist of one or more layers. Such layers may include a human-machine interface (HMI) that connects the machine to physical input hardware such as a keyboard, mouse, touchscreen, or gamepad, and output hardware such as a computer monitor, speakers, or printer. A GUI layer may interact with one or more human senses. Furthermore, such a GUI layer may include at least one of the following: a haptic (touch) GUI, a visual GUI, an auditory GUI, an olfactory GUI, a balance GUI, or a gustatory GUI. In one example, a user interface consists of a visual GUI and a haptic GUI, which display graphics and accept user input, respectively. When sound is added to this user interface, it becomes a multimedia user interface (MUI).

[0025] The GUI in this example is such that at least one group of objects is displayed to the user via the device's display screen. The GUI receives a request from the user to move at least one group of objects to a target area on the GUI. Depending on the embodiment, the target area may be specified by the user or by the device's processor or a server's processor. If the display screen is in the form of a touchscreen, depending on the embodiment, the target area may be specified by the user, for example, by tapping a finger on the display screen. Alternatively, the target area may be specified by a mouse click. In embodiments where the user is an automated software application used for simulation purposes, the request to move at least one group of objects is received from the automated software application itself, along with the specification of the target area.

[0026] As used herein, the term “processor of a device” refers to a computing element capable of operating to process user-provided instructions and control the operation of a device. Examples of processors include, but are not limited to, microprocessors, microcontrollers, composite instruction set computing (CISC) microprocessors, reduced instruction set (RISC) microprocessors, very long instruction word (VLIW) microprocessors, or any other type of processing circuit. The term processor may also refer to one or more individual processors, processing units, and various elements related to processing units that may be shared by other processing units. Furthermore, one or more individual processors, processing devices, and elements may be configured in various architectures to process instructions that drive the device. Each device is configured to have a processor.

[0027] As used herein, the term “server” refers to a virtualized, powerful physical or virtual infrastructure that performs application processing and information processing storage, enabling users in remote locations to access stored information over a data communication network. A server includes appropriate logic, circuitry, interfaces, and / or code configured to store, process, and / or receive information from devices that respond to incoming requests. Depending on the embodiment, a server may be configured to provide real-time instructions based on incoming requests. A server may be a cloud server. A server may also be a single server or multiple servers operating in a parallel or distributed architecture. Servers may be combined to work with disclosed devices or similar systems. Examples of servers include, but are not limited to, storage servers, web servers, application servers, or combinations thereof.

[0028] The method of the present disclosure includes detecting if at least one obstacle exists in the path between at least one group of objects and a target area. Such detection ensures effective control of the movement of at least one group of objects to the target area, so as to prevent the at least one group of objects from colliding with at least one obstacle or objects belonging to the at least one group of objects from colliding with or overlapping each other during movement to the target area.

[0029] In some embodiments, if there is one detectable obstacle in the path between the target area and at least one group of objects, the at least one group of objects moves to the target area by passing around the at least one obstacle in order to avoid a collision between the at least one group of objects and the at least one obstacle. In some embodiments, if there are two or more detectable obstacles in the path between the target area and at least one group of objects, and the objects of the object group must pass through a narrow passage between the two or more obstacles while moving to the target area, it is ensured that the objects belonging to the at least one group of objects move to the target area without colliding with or overlapping with each other while passing through the narrow passage.

[0030] In some embodiments, when it is detected that there are no obstacles in the path between the target area and at least one group of objects, each object belonging to the at least one group of objects moves to the target via the shortest path to the target area.

[0031] Here, "object" can be a user-controllable object in a game, or a virtual vehicle in a traffic simulation. In some embodiments, "object" may be an autonomous vehicle such as a delivery van. In such embodiments, if two or more objects arrive in front of a narrow passage between two or more obstacles, these objects may form at least one group, and the start of movement toward the narrow passage may be initiated in a randomized manner so that the objects do not collide or overlap with each other while moving through the narrow passage to the target area. For this reason, it is not necessary to form a specific decision tree for the embodiments of this disclosure to function.

[0032] Furthermore, if at least one obstacle is detected in the path, the method includes generating an instruction to control the movement of objects belonging to at least one group in a randomized manner, wherein the instruction specifies at least one random variable parameter to be used during the movement of a given object of the at least one group. The randomized movement of multiple objects belonging to the at least one group prevents one or more objects from concentrating near at least one obstacle at once. Here, the term “randomized manner” refers to selecting objects belonging to the at least one group to move to a target area without being influenced by irrelevant variables. In this regard, in some embodiments, the movement of objects in the at least one group is controlled in a randomized manner, for example, regardless of their proximity to a target area or at least one obstacle.

[0033] The term “instruction” refers to a computer-executable instruction that can be executed by the device’s processor. Instructions may be generated by the device’s processor (for example, in a single-user application such as a single-user game) or by the processor of a server that is communicatively coupled to multiple devices (for example, in a multi-user application such as a multi-user game). In some embodiments, a single instruction may apply to all objects in at least one object group. Beneficially, such a single instruction eliminates the need to generate an instruction individually for each object in at least one object group. In this specification, “random variable parameter” is a parameter related to the randomization of the movement of a given object. In some embodiments, the random variable parameter is randomly selected by the device’s processor or the server’s processor. Beneficially, random selection of the random variable parameter by the server helps reduce the load on the device’s processor, as all calculations are performed on the server.

[0034] In some embodiments, at least one of the random variable parameters includes at least one of the starting time of movement of a given object, the speed of movement of a given object, the direction in which a given object starts moving, and the initial distance covered by a given object in the said direction. Because the random variable parameters are generated randomly, it is extremely unlikely that two objects will have the same random variable parameter values. As a result, objects will not collide or overlap when moving toward a target area. Randomized movement control simplifies interaction between the user and the graphical user interface because the user does not need to provide any input regarding how to move objects toward a target area.

[0035] In some embodiments, the at least one random variable parameter includes the start time of movement of a given object. The method further includes randomly selecting a start time that falls within a predetermined time from a predefined time (t0). In this regard, each object in the at least one group is randomized to have a different start time. That is, the time at which each object begins to move towards the target area differs. This ensures that multiple objects in the at least one group do not overlap near at least one obstacle detected during movement towards the target area. As used herein, the term “predefined time” (t0) represents a reference time from which the predetermined time is calculated. In some embodiments, the predefined time (t0) may be the time a request is made by the user, or it may be the time when the first object begins to move towards the target area. The start time of a given object is then randomly selected so that it falls within the predetermined time from the predefined time (t0). In some embodiments, the length of the predetermined time may be in the range of 0.1 seconds to 1.0 second. For example, the start time of the nth object may be selected to be 0.1 seconds after a predefined time (t0), while the start time of the (n+1)th object may be selected to be 0.3 seconds after a predefined time (t0). In another example, the start time of a certain object is selected to be t0+0.5 seconds, where t0 is a "predefined time" as the time when a request from the user is received, and +0.5 seconds is selected as a random variable parameter for that object. In this case, the object begins moving toward the target area at time t0+0.5 seconds. Depending on the embodiment, the random selection of the start time of a given object is performed by the device's processor or server. In this way, randomized movement control simplifies the interaction between the user and the graphical user interface.This is because the user does not need to provide any input regarding the specific start time for when an object begins moving toward the target area. Furthermore, such randomized movement control has the potential to reduce the computational load on the device because the device does not need to collect and process separate inputs for multiple different start times, nor does it need to adopt any rules for determining the start times.

[0036] Depending on the embodiment, the at least one random variable parameter may additionally or alternatively include the speed at which a given object moves. The method further includes randomly selecting the speed from a predefined speed range. In this regard, the start time of movement may be the same for each of a given number of objects, but the initial speed may be a random variation from the average speed of objects belonging to at least one group of objects. As an example, suppose the average movement speed of the objects is 100 pixels per second. In such a case, the “predefined speed range” may be from 70 pixels per second to 130 pixels per second. Each of the objects included in the at least one group of objects is randomized to have a different speed. That is, the speed at which objects begin to move towards the target area will differ. This ensures that multiple objects belonging to the at least one group of objects will not overlap near at least one obstacle detected during movement towards the target area. As used herein, the term “predefined speed range” refers to a reference speed range from which the speed of the objects is randomly selected. For example, the speeds at which a first, second, and third object of at least one group move may be randomly selected, resulting in speeds of 80 pixels per second, 100 pixels per second, and 130 pixels per second, respectively. Depending on the embodiment, the random selection of the speeds at which a given object moves may be performed by the device's processor or server. Beneficially, randomized movement control simplifies user interaction with the graphical user interface because the user does not need to provide any input regarding the speed at which objects move toward a target area. Furthermore, such randomized movement control has the potential to reduce the computational load on the device because the device does not need to collect and process separate inputs for multiple different speeds, nor does it need to adopt rules for determining speed.

[0037] Depending on the embodiment, the at least one random variable parameter may further or alternatively include the direction in which a given object begins to move. The method further includes, - Determining the range of directions in which a given object can begin to move, based on the target area, the at least one obstacle, and the relative positions of the remaining objects of the at least one group with respect to the given object; The direction in which the given object begins to move is randomly selected from the range; Includes.

[0038] In this regard, each object in the at least one group is randomized to have a different starting direction of movement. This ensures that multiple objects in the at least one group do not overlap near at least one obstacle detected during movement to the target area. Furthermore, a range of directions in which the given object can start moving can be determined based on the target area, the at least one obstacle, and the relative positions of the remaining objects in the at least one group with respect to the given object. Then, from the determined range, the direction in which the given object starts moving is randomly selected. In some embodiments, the random selection of the direction in which the given object moves may be performed by the device's processor or server. Randomized movement control simplifies interaction between the user and the graphical user interface because the user does not need to provide any input regarding the direction in which the object starts moving. In addition, such randomized movement control may reduce the computational load on the device because the device does not need to collect and process separate inputs for multiple different directions, nor does it need to adopt rules for determining the direction.

[0039] When a random selection of the direction of movement is performed, the at least one random variable parameter may include the initial distance covered by a given object in that direction, because such a random selection of direction may lead the given object away from the target area. In such a case, after the initial distance is covered in that direction, the direction of the given object can be changed to orient it towards the target area. For this reason, the method may further include randomly selecting the initial distance covered by a given object from a predefined range of initial distances. Some objects will not take the shortest path and will have to take detours. However, random arrival times can be created for multiple objects passing through a narrow passage between at least one obstacle.

[0040] In some embodiments, instructions are generated to control the movement of multiple objects belonging to at least one group so that these objects reach a target area in a predefined order. In this regard, the randomization of the movement of a given object in the at least one group is performed in such a way that there exists a specific order in which the objects in the at least one group reach the target area. In some embodiments, the movement of objects to the target area in a predefined order may be important because some objects in the at least one group may have higher priority and need to reach the target area first. On the other hand, other objects in the at least one group may have lower priority and may arrive at the target area later. In such cases, random selection can be performed in a sub-range (i.e., slab) of a predefined range. As a result, randomized movement control simplifies interaction between the user and the graphical user interface because the user does not need to provide any input regarding how to move objects toward the target area. Furthermore, such randomized movement control may reduce the computational load on the device.

[0041] Furthermore, the method includes executing the command to control the movement of objects belonging to the at least one group from their starting position to the target area. Here, "their starting position" refers to the position of a given object at the time the request is received. Subsequently, when a command is generated for the objects of the at least one group, the generated command is executed to randomly control the movement of each object from its starting position to the target area. The starting positions are displayed to the user through the GUI. Thus, the method ensures that, during movement to the target area, there is no overlap (visible on the GUI) of multiple objects belonging to the at least one group in the vicinity of the at least one detected obstacle.

[0042] In some embodiments, the method further includes identifying a main object from among the objects belonging to the at least one group. Following the movement of the main object, the remaining objects of the at least one group are moved. Here, although the movement of the objects of the at least one group is randomized, the main object reaches the target area first. The remaining objects then move following the movement of the main object and arrive at the target area after the main object, according to the selected random variable parameter. In such a case, the main object may be considered an object with high priority. Therefore, no random variable parameter may be selected for the main object. User input is simplified because the user does not need to provide individual requests to move each object included in the at least one group. In other words, all of the multiple objects belonging to the at least one group can be moved based on a single request from the user. In this case, the movement of objects other than the main object is randomly controlled, but they follow the movement of the main object. Furthermore, interaction between the user and the graphical user interface is simplified, and the computational load on the device may be reduced.

[0043] In an embodiment where the GUI is that of traffic simulation software and the at least one object group is a convoy of cars moving to a target area, a specific car is identified as the main object from the convoy, and the remaining cars move to the target area following the specific car identified as the main object. Here, the movement of the convoy may be randomized, however, the speed at which the specific car identified as the main object moves is faster than the speed at which the remaining cars in the convoy move. Additionally or alternatively, the movement of the specific car may start earlier than the movement of the remaining cars. Beneficially, the main object moves without distortion and speeds up the movement of the remaining objects. Thus, the car identified as the main object leads the convoy, and the remaining cars in the convoy follow the movement of the car identified as the main object.

[0044] In some embodiments, instructions corresponding to the movement of the main object and the remaining objects of at least one group are received and buffered. These instructions are retrieved from the buffer and executed randomly (or based on other rules) for the main object and the remaining objects. This method of software architecture allows any number of objects to be given movement instructions by directing instructions to each object. This is beneficial when each object is architecturally separated and independent of the others.

[0045] In some embodiments, the at least one object group comprises a plurality of object groups. The method further includes assigning each of the plurality of object groups an intermediate target area, where the objects of a given group first arrive at their respective intermediate target area and then move from their respective intermediate target area toward the target area. In some circumstances, some of the objects of the first group moving toward the target area with random variable parameters (start time, direction, speed, and / or distance) may be able to pass through a narrow passage. In such circumstances, a second object group may be formed for the objects that are stuck in the narrow passage. The movement of the second object group may be re-randomized to have new random variable parameters (start time, direction, speed, and / or distance). (i.e., it may be randomized repeatedly.) This makes it possible for the objects of the second object group to pass through the narrow passage. Here, each of the plurality of objects (i.e., the objects of the first group and the objects of the second group) may be randomized to move toward their respective intermediate target area and then randomized again to move toward the target area from their respective intermediate target area.

[0046] Depending on the embodiment, the method further includes dividing a plurality of objects presented on a graphical user interface into a plurality of groups based on at least one of the distance of the object from a target area and the signal intensity of the object's sensor.

[0047] In some embodiments, the GUI is that of a game application, where at least one object group represents the user's army, and the target area refers to the region where the enemy army is located. In this regard, the user's army has multiple units (i.e., multiple objects), each of which has its own attack range. Here, the multiple units can be divided into different groups based on the attack range of each of the multiple units relative to the target area. Then, in order to form the optimal defensive formation of the user's army, they can first be moved to their respective intermediate target areas. After that, each of the multiple units can be moved from their respective intermediate target area to the target area.

[0048] This disclosure also relates to the apparatus described above. Various embodiments and modifications disclosed above are applicable to this apparatus.

[0049] Depending on the embodiment, at least one of the random variable parameters includes at least one of the starting time of movement of a given object, the speed of movement of a given object, the direction in which a given object starts moving, and the initial distance covered by a given object in the said direction.

[0050] In some embodiments, the at least one random variable parameter includes the start time of movement of a given object. The device's processor is configured to randomly select a start time that begins within a predetermined time interval from a predefined time (t0).

[0051] In some embodiments, the at least one random variable parameter includes the speed at which a given object moves. The processor is configured to randomly select the speed from a predefined range of speeds.

[0052] In some embodiments, the at least one random variable parameter includes the direction in which a given object begins to move. The processor further includes: Based on the target area, the at least one obstacle, and the relative positions of the remaining objects in the at least one group with respect to the given object, the range of directions in which the given object can begin to move is determined; The direction in which the given object begins to move is randomly selected from the range; It is configured in this way.

[0053] This disclosure also relates to the system described above. Various embodiments and modifications disclosed above are applicable to this system.

[0054] Each of the aforementioned devices and graphical user interfaces corresponds to the device and graphical user interface of the second aspect. The aforementioned devices can cooperate on the same software application managed and provided by the server.

[0055] Depending on the embodiment, at least one of the random variable parameters includes at least one of the starting time of movement of a given object, the speed of movement of a given object, the direction in which a given object starts moving, and the initial distance covered by a given object in the said direction.

[0056] In some embodiments, the at least one random variable parameter includes the start time of movement for a given object. The server or processor is configured to randomly select a start time that begins within a predetermined time from a predefined time (t0).

[0057] In some embodiments, the at least one random variable parameter includes the speed at which a given object moves. The server or processor is configured to randomly select the speed from a predetermined speed range.

[0058] In some embodiments, the at least one random variable parameter includes the direction in which a given object begins to move. The server or processor further: Based on the target area, the at least one obstacle, and the relative positions of the remaining objects in the at least one group with respect to the given object, the range of directions in which the given object can begin to move is determined; The direction in which the given object begins to move is randomly selected from the range; It is configured in this way.

[0059] This disclosure also relates to the computer program product described above. The various embodiments and modifications disclosed above will be applied mutatis mutandis to the computer program product.

[0060] Depending on the embodiment, the computer program product is implemented as an algorithm incorporated into software stored on a non-volatile computer-readable storage medium. The non-volatile computer-readable storage medium includes, but is not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. Examples of implementations of the computer-readable storage medium include, but are not limited to, electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), read-only memory (ROM), hard disk drives (HDDs), flash memory, secure digital (SD) cards, solid-state drives (SSDs), computer-readable storage media, and / or CPU cache memory.

[0061] Embodiments of this disclosure provide a method that is implemented on a computer. This method is • To generate a graphical user interface and display it on the device's display screen; - Receiving a request to move at least one group of objects to a target area on the graphical user interface; To generate instructions that control the movement of objects belonging to the at least one group in a randomized manner, wherein the instructions include at least one random variable parameter used during the movement of a given object of the at least one group; • Executing the instruction to control the movement of an object belonging to at least one of the aforementioned groups from its starting position to the target area; This includes, in fact, depending on the circumstances, instructions for moving an object in a randomized manner can be provided without prior checking whether there is at least one obstacle in the path between the target area and at least one group of objects. The advantage of this alternative embodiment is that the executable software can be made simpler if, in response to an incoming move request, instructions in a randomized manner are generated (by default).

[0062] [Detailed explanation of the drawing]

[0063] Referring to Figure 1, a flowchart 100 is shown illustrating each step of a computer-implemented method incorporating randomized motion control according to an embodiment of the present disclosure. In step 102, a graphical user interface is generated and displayed on the device's display screen. In step 104, a request is received to move at least one group of objects to a target area on the graphical user interface. In step 106, it is detected when at least one obstacle exists in the path between the target area and at least one group of objects. In step 108, if at least one obstacle is detected in the path, an instruction is generated to control the movement of objects belonging to at least one group in a randomized manner. This instruction specifies at least one random variable parameter to be used during the movement of a given object of at least one group. In step 110, an instruction is executed to control the movement of an object belonging to at least one group from its starting position to the target area.

[0064] Steps 102, 104, 106, 108, and 110 are merely illustrative, and other options may be provided. That is, one or more steps may be added, one or more steps may be omitted, or one or more steps may be performed in a different order without departing from the scope of the appended claims.

[0065] Referring to Figures 2A and 2B, schematic diagrams of an apparatus 200 incorporating randomized motion control and a graphical user interface 203 of the apparatus 200 are shown, respectively, according to embodiments of the present disclosure. As shown in Figure 2A, the apparatus 200 comprises a display screen 202 and a processor 204. As shown in Figure 2B, the display screen 202 of the apparatus 200 renders the graphical user interface 203. The graphical user interface 203 draws at least one object group 206, which includes objects 206A, 206B, 206C, 206D, and 206E. The graphical user interface 203 also draws two obstacles 210 and 212 on the path to the target area 208, with a narrow passage formed between obstacles 210 and 212 that at least one object group 206 must pass through to reach the target area 208.

[0066] Referring to Figure 3, schematic diagrams of each step in an implementation scenario of a computer-implemented method incorporating randomized movement control according to an embodiment of the present disclosure are shown. As shown, in step S1, a request is received via the graphical user interface 300 to move at least one object group 302 to a target area 304. In step S2, object C, which is part of at least one object group 302, is randomized to begin moving to the target area 304 before the other objects (A, B, D, E) in at least one group 302. In step S3, object E, which is part of at least one group 302, is randomized to begin moving to the target area 304. In step S4, each of objects A, B, C, D, and E, which are part of at least one group 302, is randomized to begin moving to the target area 304. In step S5, the movement of at least one group of objects 302 is controlled in a randomized manner so that each of the objects A, B, C, D, and E of at least one group 302 moves one by one in an orderly manner through the narrow passage between obstacles 306 and 308 to reach the target area 304. In step S6, each of the objects A, B, C, D, and E of at least one group 302 reaches the target area 304 one by one.

[0067] Referring to Figure 4, a schematic diagram of a graphical user interface 400 illustrating an implementation scenario of a computer-implemented method incorporating randomized movement control according to an embodiment of the present disclosure is shown. As shown in Figure 4, the graphical user interface 400 is drawing objects 402A, 402B, and 402C of at least one object group 402. These objects 402A, 402B, and 402C are randomized to move in different directions (shown as dashed lines L1, L2, and L3, respectively) to avoid overlapping around obstacles 406 while moving to a target area 404.

[0068] Referring together to Figures 5A and 5B, a schematic diagram of an implementation scenario for a computer-implemented method incorporating randomized movement control according to an embodiment of the present disclosure is shown. As shown in Figure 5A, the graphical user interface 500 draws a plurality of object groups, which are drawn as groups 502A, 502B, and 502C. The graphical user interface also draws a target area 504.

[0069] As shown in Figure 5B, the graphical user interface 500 depicts that multiple object groups 502A, 502B, and 502C have moved to their respective intermediate target areas 504A, 504B, and 504C. These multiple object groups are then scheduled to move from their respective intermediate target areas 504A, 504B, and 504C to the target area 504.

[0070] Referring to Figure 6, a schematic diagram shows an implementation scenario of a computer-implemented method incorporating randomized movement control according to an embodiment of the present disclosure. As shown in Figure 6, the graphical user interface 600 depicts at least one object group 602, which includes a main object 602A and the remaining objects 602B and 602C. Here, the main object 602A is the first to move to the target area 604, and following the movement of the main object 602A, the remaining objects 602B and 602C of the at least one group 602 move to the target area 604.

[0071] It is possible to modify the embodiments of this disclosure described above without departing from the scope defined by the attached claims. The expressions “includes,” “equip,” “incorporates,” “have,” and “are” used to describe and claim this disclosure are intended to be interpreted non-restrictively, and there may be items, parts, elements, etc. that are not explicitly stated. The absence of explicit indication that there are multiple elements does not preclude the presence of multiple such elements.

Claims

1. A method implemented by a computer, - To generate a graphical user interface and display it on the device's display screen; - Receiving a request to move at least one group of objects to a target area on the graphical user interface; - Detecting that at least one obstacle exists in the path between the target area and at least one group of objects; - When it is detected that at least one obstacle is present in the path, generate an instruction to control the movement of objects belonging to the at least one object group in such a manner that the at least one object group reaches the target area in a predetermined order, wherein the at least one object group is moved to the target area by passing around the at least one obstacle in order to avoid a collision between the at least one object group and the at least one obstacle, and the instruction to generate includes at least two random variable parameters used during the movement of a given object of the at least one group; - When it is detected that there are no obstacles in the aforementioned path, the individual objects of the at least one object group are moved to the target area via the shortest route; - Executing the instruction to control the movement of an object belonging to at least one of the groups from its starting position to the target area; Includes, At least two of the aforementioned random variable parameters include at least two of the following: the start time of movement of a given object, the speed of movement of a given object, the direction in which a given object starts moving, and the distance covered by a given object in the said direction. method.

2. A method according to claim 1, wherein the at least two random variable parameters include a start time for moving a given object, and the method further includes randomly selecting a start time that begins within a predetermined time from a predefined time.

3. A method according to claim 1, wherein the at least two random variable parameters include the speed at which a given object moves, and the method further includes randomly selecting the speed from a predetermined range of speeds.

4. A method according to claim 1, wherein the at least two random variable parameters include the direction in which a given object begins to move, and the method further, - Determining the range of directions in which a given object can begin to move, based on the target area, the at least one obstacle, and the relative positions of the remaining objects of the at least one group with respect to the given object; - The direction in which the given object begins to move is randomly selected from the range; Methods that include...

5. The method according to claim 1, wherein an instruction is generated to control the movement of a plurality of objects belonging to at least one group.

6. The method according to claim 1, further comprising identifying a main object from among the objects belonging to the at least one group, wherein the movement of the main object is followed by the movement of the remaining objects of the at least one group.

7. The method according to claim 1, The aforementioned at least one object group consists of multiple object groups, The method further comprises assigning intermediate target areas to the plurality of object groups, wherein the objects of a given group first arrive at their respective intermediate target areas and then move from their respective intermediate target areas toward a target area.

8. The method according to claim 7, further comprising dividing a plurality of objects presented on the graphical user interface into a plurality of groups based on at least one of the distance of the objects from the target area and the signal intensity of the sensors of the objects.

9. It is a device, Display screen and; Processor and; The processor is equipped with, - To generate a graphical user interface and display it on the aforementioned display screen; - Receiving a request to move at least one group of objects to a target area on the graphical user interface; - Detecting that at least one obstacle exists in the path between the target area and at least one group of objects; - When it is detected that at least one obstacle is present in the path, generate an instruction to control the movement of objects belonging to the at least one object group in such a manner that the at least one object group reaches the target area in a predetermined order, wherein the at least one object group is moved to the target area by passing around the at least one obstacle in order to avoid a collision between the at least one object group and the at least one obstacle, and the instruction to generate includes at least two random variable parameters used during the movement of a given object of the at least one group; - When it is detected that there are no obstacles in the aforementioned path, the individual objects of the at least one object group are moved to the target area via the shortest route; - Executing the instruction to control the movement of an object belonging to at least one of the groups from its starting position to the target area; It is configured to perform, At least two of the aforementioned random variable parameters include at least two of the following: the start time of movement of a given object, the speed of movement of a given object, the direction in which a given object starts moving, and the distance covered by a given object in the said direction. Device.

10. The apparatus according to claim 9, wherein the at least two random variable parameters include a start time for moving a given object, and the processor is further configured to randomly select a start time that begins within a predetermined time from a predefined time.

11. The apparatus according to claim 9, wherein the at least two random variable parameters include the speed at which a given object moves, and the processor is further configured to randomly select the speed from a predetermined range of speeds.

12. The apparatus according to claim 9, wherein the at least two random variable parameters include the direction in which a given object begins to move, and the processor further, - For a given object, the range of directions in which the given object can begin to move is determined based on the target area, the at least one obstacle, and the relative positions of the remaining objects of the at least one group with respect to the given object; - The direction in which the given object begins to move is randomly selected from the range; A device configured in such a way.

13. A system including a server communicatively coupled to a plurality of devices according to any one of claims 9 to 12, wherein the plurality of devices cooperate through their respective graphical user interfaces, and the server - Receiving a request from a given device to move at least one group of objects to a target area on the graphical user interface of the given device; - Detecting on the graphical user interface of the given device that at least one obstacle exists in the path between the target area and at least one object group; - When it is detected that at least one obstacle is present in the path, generate an instruction to control the movement of objects belonging to the at least one object group in such a manner that the at least one object group reaches the target area in a predetermined order, wherein the at least one object group is moved to the target area by passing around the at least one obstacle in order to avoid a collision between the at least one object group and the at least one obstacle, and the instruction to generate includes at least two random variable parameters used during the movement of a given object of the at least one group; - When it is detected that there are no obstacles in the aforementioned path, the individual objects of the at least one object group are moved to the target area via the shortest route; - Sending the generated command to the given device; A server configured to perform the following, wherein the processor of the given device is configured to execute the instructions to control the movement of objects belonging to the at least one group from their starting position to the target area.

14. The system according to claim 13, wherein at least one of the random variable parameters includes at least one of the start time of movement of a given object, the speed of movement of a given object, the direction in which a given object starts moving, and the distance covered by a given object in the said direction.

15. The system according to claim 13, wherein the at least two random variable parameters include a start time for moving a given object, and the server or processor is further configured to randomly select a start time that begins within a predetermined time from a predefined time. system.

16. The system according to claim 13, wherein the at least two random variable parameters include the speed at which a given object moves, and the server or the processor is further configured to randomly select the speed from a predetermined range of speeds.

17. The system according to claim 13, wherein the at least two random variable parameters include the direction in which a given object begins to move, and the server or the processor further, - For a given object, the range of directions in which the given object can begin to move is determined based on the target area, the at least one obstacle, and the relative positions of the remaining objects of the at least one group with respect to the given object; - The direction in which the given object begins to move is randomly selected from the range; A system configured in such a way.

18. A computer program comprising program instructions configured, when executed by the processor of a computer device, to cause the computer device to perform the method according to any one of claims 1 to 8.