Randomized movement control

JP2025516459A5Active Publication Date: 2026-01-30SUPERCELL
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024559890
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-05-11
Filing Date
2023-04-12
Publication Date
2026-01-30
Estimated Expiration
2043-04-12

AI Technical Summary

Technical Problem

Conventional graphical user interfaces face challenges in efficiently moving multiple objects to a target area without overlapping or becoming stuck, especially when obstacles are present, leading to an unpleasant user experience and increased computational load.

Method used

A computer-implemented method and apparatus that utilize randomized motion control to manage the movement of object groups around obstacles, generating instructions with random variable parameters such as start time, speed, and direction to ensure objects reach the target area without overlapping.

Benefits of technology

The solution simplifies user input by allowing objects to move based on a single request, reduces computational load, and provides a realistic and immersive user experience by preventing object overlap and ensuring smooth movement past obstacles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
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 that involves moving an object from one position to another and has one or more obstacles in the path therebetween may present an unpleasant user experience scenario. One such scenario involves 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 implement such a function in a graphical user interface, one way is to enable all objects 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 objects may stop moving around the obstacles. For this reason, 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 that simulates 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, the user has to provide individual requests to move at least one group of individual objects, which makes the user input complex and cumbersome. Further, the user may also have to provide inputs one by one regarding how to move the object towards the target area. This significantly increases the computational load of the system.

[0005] In view of these discussions, there is a need to overcome the aforementioned drawbacks associated with conventional movement control for objects. Summary

[0006] The present disclosure seeks to provide a computer-implemented method incorporating randomized motion control. The present disclosure also seeks to provide an apparatus incorporating randomized motion control. The present disclosure also relates to a system incorporating randomized motion control. The object of the present disclosure is to provide a solution that at least partially overcomes the problems encountered in the prior art.

[0007] According to a first aspect, an embodiment of the present disclosure provides a computer-implemented method. This method comprises · 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 there is at least one obstacle in a path between the target area and at least one object group; and when it is detected that the at least one obstacle exists in the path, generating 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, said generating; · For an object belonging to the at least one group, executing the instruction to control the movement of the object from its starting position to the target area; including.

[0008] According to a second aspect, an embodiment of the present disclosure provides an apparatus. The apparatus includes a display screen; a processor; and 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 at least one obstacle exists 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; · for an object belonging to the at least one group, execute the instruction to control the movement of the object from its starting position to the target area; is configured to perform.

[0009] According to a third aspect, an embodiment of the present disclosure provides 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 from a given apparatus a request to move at least one object group to a target area on the graphical user interface of the given apparatus; · Detecting when there is at least one obstacle in the path between the target area and at least one object group on the graphical user interface of the given device; · 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 is present 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, the generating; · Sending the generated instruction to the given device; configured to perform; The processor of the given device is configured to 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.

[0010] According to a fourth aspect, an 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 comprising a processor for executing the method according to the first aspect.

[0011] Embodiments of the present disclosure substantially solve or at least partially address the aforementioned problems in the prior art, and enable the movement of at least one object group to a target area to be rendered in a randomized form on a user interface without requiring specific user input as to how to move the objects, and enable the rendering such that a plurality of 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 in this application will be made apparent by the detailed description of the accompanying drawings and exemplary embodiments, which is to be construed in conjunction with the appended claims.

[0013] It will also be understood that the features of the present disclosure can be combined in various combinations without departing from the scope defined by the appended claims. The above abstract and the following detailed description of exemplary embodiments are better understood when read in conjunction with the accompanying drawings. For the purpose of illustrating the present disclosure, exemplary configurations of the present disclosure are shown in the drawings. However, the present disclosure is not limited to the specific methods and apparatuses disclosed herein. Also, the scales of the drawings are not correct. Like elements are denoted by the same numbers as much as possible. Hereinafter, embodiments of the present disclosure will be described by way of example with reference to the following drawings.

Brief Description of the Drawings

[0014]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

[0015] The following detailed description illustrates embodiments of the present disclosure and methods by which they may be implemented. Although several forms for carrying out the present disclosure have been disclosed, those skilled in the art will recognize that other forms for carrying out 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, when it is detected that the at least one obstacle exists in the path, 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, the generating; · executing the instruction to control the movement of the objects belonging to the at least one group from their starting positions to the target area; and includes.

[0017] According to a second aspect, embodiments of the present disclosure provide an apparatus. The apparatus includes a display screen; a processor; and wherein 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 at least one obstacle exists in a path between the target area and at least one object group; generate, when it is detected that at least one obstacle exists in the path, 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; and is configured to perform the above.

[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, from a given apparatus, a request to move at least one object group to a target area on the graphical user interface of the given apparatus; detect when at least one obstacle exists 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 exists in the path, generating 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 to be used during the movement of a given object of the at least one group, and said generating; · sending the generated instruction to the given device; configured to perform; The processor of the given device is configured to 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.

[0019] According to a fourth aspect, an 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 comprising a processor for performing the method according to the first aspect.

[0020] The present disclosure provides the aforementioned method, the aforementioned apparatus, and the aforementioned system. Embodiments of the present disclosure aim to control the movement of at least one object group in a randomized manner, such that when the objects included in the object group move to a target area and there is at least one obstacle in the movement path of the object, the objects included in the object group do not overlap with each other. Since the user does not need to provide individual requests to move the individual objects included in the at least one group, the user input is facilitated and simplified. In other words, all the objects belonging to the at least one group can be moved based on a single request from the user. The 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 how to move the object towards the target area. Also, such randomized movement control has the potential to reduce the computational load of the device. Furthermore, the GUI provides a comfortable and realistic user experience without undesirable visual graphics, such as an object becoming immobile or overlapping with each other while moving towards the target area.

[0021] The method according to the present disclosure is implemented by a computer. That is, the method is implemented through one or more computing devices (i.e., devices and / or servers). A device refers to an electronic device related to a user (i.e., used by the user), which enables the user to execute specific tasks on it (or using it). Examples of computing devices include, but are not limited to, mobile phones, personal digital assistants (PDAs), handheld devices, laptop computers, personal computers, etc. According to embodiments, the user may be any entity (existence) associated with and operating the device and / or server. This entity may be, for example, a human or a virtual program (autonomous program, software application, bot, etc.). The device is configured to provide a graphical user interface on its display screen. Advantageously, 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 the device. Usually, the display screen is configured to provide the user with the visual graphics of the graphical user interface.

[0023] As used herein, the term "graphical user interface" (GUI) refers to the space where the interaction between the user and the device takes place. Typically, the GUI presents one or more spatially distributed elements. Advantageously, the interaction between the user and the device enables effective operation and control. Further, the GUI is designed so that the user can interact with the device easily, efficiently, and in a user-friendly manner, providing maximum usability, thereby reducing the amount of user input required to achieve the desired output.

[0024] Typically, a GUI can be composed of one or more layers. Such layers include physical input hardware such as keyboards, mice, touchscreens, game pads, etc., output hardware such as computer monitors, speakers, printers, etc., and a human-machine interface (HMI) that connects to the machine. A GUI layer may interact with one or more human senses. The GUI layer may also include at least one of a tactile (touch) GUI, a visual GUI, an auditory GUI, an olfactory GUI, a sense of balance GUI, and a taste GUI. In one example, the user interface is composed of a visual GUI and a tactile GUI, which display graphics and receive 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 object group is displayed to the user via the display screen of the device. The GUI receives a request from the user to move at least one object group to a target area on the GUI. In some embodiments, the target area is specified by the user or by a processor of the device or a server. When the display screen has the form of a touch screen, in some embodiments, the target area is specified by the user, for example, via a finger tap on the display screen. Alternatively, the target area is specified by a mouse click. In embodiments where the user is using an automated software application used for simulation purposes, the request to move at least one object group is received from the automated software application itself along with the specification of the target area.

[0026] As used herein, the term "processor of the device" refers to a computing element that is operable to process in response to instructions given by a user and control the operation of the device. Examples of processors include, but are not limited to, microprocessors, microcontrollers, complex instruction set computing (CISC) microprocessors, reduced instruction set (RISC) microprocessors, very long instruction word (VLIW) microprocessors, or any other type of processing circuit. Also, the term processor may represent various elements related to a processing device that may be shared by one or more individual processors, processing devices, and other processing devices. Further, one or more individual processors, processing devices, and elements may be configured in various architectures to process in response to 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 executes application processing and information processing storage and enables a user located remotely to access information stored through a data communication network. A server includes appropriate logic, circuits, interfaces, and / or code configured to store, process, and / or receive information from a device corresponding to a received request. In some embodiments, a server is configured to provide real-time instructions based on a received request. The server may be a cloud server. Also, the server may be a single server or multiple servers operating in a parallel architecture or a distributed architecture. The server is combined to cooperate with the disclosed device or a similar system. 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 at least one obstacle in a path between at least one object group and a target area. Such detection ensures effective control of the movement of at least one object group to the target area, so that when moving to the target area, the at least one object group does not collide with at least one obstacle, or objects belonging to the at least one object group do not collide or overlap with each other.

[0029] In some embodiments, when there is one detectable obstacle in the path between the target area and at least one object group, the at least one object group moves around the at least one obstacle to avoid collision between the at least one object group and the at least one obstacle and then moves to the target area. In some embodiments, when there are two or more detectable obstacles in the path between the target area and at least one object group, and the objects of the object group have to pass through a narrow passage between the two or more obstacles when moving to the target area, it is ensured that the objects belonging to the at least one object group do not collide or overlap with each other while passing through the narrow passage and the objects move to the target area.

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

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

[0032] Furthermore, when it is detected that at least one obstacle is in the path, the method includes generating an instruction to control the movement of the objects belonging to at least one group in a randomized manner. Here, the instruction indicates at least one random variable parameter used during the movement of a given object of the at least one group. The randomized movement of the plurality of objects belonging to the at least one group prevents one or more objects from concentrating near the at least one obstacle at a time. Here, the term "randomized manner" refers to selecting the objects belonging to the at least one group to move to a target area without being affected by unrelated variables. In this regard, in some embodiments, the movement of the objects of the at least one group is controlled in a randomized manner regardless of, for example, proximity to the target area or the at least one obstacle.

[0033] The term "command" refers to computer-executable instructions that can be executed by a processor of a device. The instructions may be generated by a processor of the device (such as for a single-user application like a single-user game), or may be generated by a processor of a server communicatively coupled to a plurality of devices (such as for a multi-user application like a multi-user game). In some embodiments, a single instruction may be applied to all objects of at least one object group. Advantageously, such a single instruction eliminates the need to generate instructions individually for each object of at least one object group. As used herein, a "random variable parameter" is a parameter related to the randomization in the movement of a given object. In some embodiments, the random variable parameter is randomly selected by a processor of the device or a processor of the server. Advantageously, the random selection of the random variable parameter by the server helps reduce the load on the processor of the device since all calculations are performed on the server.

[0034] In some embodiments, at least one of the random variable parameters includes at least one of a movement start time of a given object, a movement speed of the given object, a direction in which the given object starts to move, and an initial distance covered by the given object in the direction. Since the random variable parameters are randomly generated, the probability that two objects have the same value of random variable parameters is extremely low. As a result, when moving towards the target area, the objects do not collide or overlap with each other. The randomized movement control simplifies the interaction between the user and the graphical user interface because the user does not need to provide any input regarding how to move the object towards the target area.

[0035] Depending on the embodiment, the at least one random variable parameter includes the start time of movement of a given object. And the method further includes randomly selecting a start time that begins within a predetermined time from a predefined time (t0). In this regard, each of the objects included in the at least one group is randomized to have a different start time. That is, the time to start moving to the target area is different for each object. For this reason, it is ensured that a plurality of objects included in the at least one group do not overlap near at least one obstacle detected during the movement to the target area. As used herein, the term "predefined time" (t0) represents a reference time, from which the predetermined time is calculated. Depending on the embodiment, the predefined time (t0) may be the time requested by the user, or may be the time when the first object starts moving to the target area. Thereafter, the start time of a given object is randomly selected to be within the predetermined time from the predefined time (t0). Depending on the embodiment, the length of the predetermined time may be in the range of 0.1 second to 1.0 second. As an example, the start time of the nth object may be selected to be 0.1 second after the predefined time (t0), while the start time of the n+1th object may be selected to be 0.3 second after the predefined time (t0). In another example, the start time of a certain object is selected to be t0 + 0.5 seconds. Here, t0 is the "predefined time" as the time when a request from the user is received, and +0.5 seconds is selected as the random variable parameter of the certain object. In this case, the certain object starts moving towards 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 processor or server of the device. In this way, the interaction between the user and the graphical user interface is simplified by the randomized movement control.This is because the user does not need to provide any input regarding the individual start times of when the object starts moving towards the target area. Also, such randomized movement control has the potential to reduce the computational load of the device. This is because the device does not need to collect and process individual inputs regarding a plurality of different start times, nor does it need to adopt rules for determining the start times.

[0036] Depending on the embodiment, additionally or alternatively, the at least one random variable parameter includes the speed at which a given object moves. And the method further includes randomly selecting the speed from a predefined speed range. In this regard, the start time of the movement may be the same for each of a given plurality of objects, but the initial speed may be a random variation from the average speed of the objects belonging to at least one object group. As an example, let the average movement speed of the objects be 100 pixels per second. In such a case, the “predefined speed range” may be from 70 pixels per second to 130 pixels per second. And each of the objects included in the at least one object group is randomized to have a different speed. That is, the speed at which the movement to the target area starts varies depending on the object. For this reason, it is ensured that a plurality of objects belonging to the at least one object group do not overlap near at least one obstacle detected during the movement to the target area. As used herein, the term “predefined speed range” refers to a reference speed range, and the speed of the object is randomly selected from this range. For example, the speeds at which the first object, the second object, and the third object of at least one group move may be randomly selected, and as a result, may be 80 pixels per second, 100 pixels per second, and 130 pixels per second, respectively. Depending on the embodiment, the random selection of the speed at which a given object moves may be performed by a processor or a server of the device. Advantageously, the randomized movement control simplifies the interaction between the user and the graphical user interface. Because the user does not need to provide any input regarding the speed when the object moves towards the target area. Also, such randomized movement control has the potential to reduce the computational load of the device. Because the device does not need to collect and process individual inputs regarding a plurality of different speeds, nor does it need to adopt rules for determining the speed.

[0037] In some embodiments, additionally or alternatively, the at least one random variable parameter includes the direction in which a given object starts to move. And the method further comprises: · determining, for a given object, a range of directions in which the given object can start to move based on the relative positions of the target area, the at least one obstacle, and the remaining objects of the at least one group with respect to the given object; · randomly selecting, from the range, a direction in which the given object starts to move; including.

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

[0039] When random selection of a moving direction is performed, the at least one random variable parameter may include an initial distance covered by a given object in the direction. This is because such a random direction selection may lead the given object away from the target area. In such a case, after the initial distance is covered in the direction, a change in the direction of the given object can be implemented to direct the given object towards the target area. For this reason, the method may further include randomly selecting the initial distance covered by the given object from a predefined range of initial distances. A part of the object will not take the shortest path and will take a detour. However, for a plurality of objects passing through a narrow passage between at least one obstacle, a random arrival time can be created.

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

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

[0042] In some embodiments, the method further includes identifying a main object from among the objects belonging to the at least one group. Then, 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. And the remaining objects move following the movement of the main object and arrive at the target area after the main object, according to the selected random variable parameters. In such a case, the main object may be considered an object with a high priority. Thus, it may be that no random variable parameters are selected for the main object. Since the user does not need to provide individual requests to move the individual objects included in the at least one group, the user input is facilitated and simplified. In other words, all of the plurality of objects belonging to the at least one group can be moved based on a single request from the user. However, in this case, the objects other than the main object have their movement randomly controlled, but move following the main object. Further, the 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 for traffic simulation software and the at least one object group is a column of vehicles moving to a target area, a specific vehicle is identified as the main object from among the column of vehicles, and the remaining vehicles follow the specific vehicle identified as the main object and move to the target area. Here, the movement of the column of vehicles may be randomized. However, the speed at which the specific vehicle identified as the main object moves is made to be faster than the speed at which the remaining vehicles in the column move. Additionally or alternatively, the movement of the specific vehicle may be started earlier than the movement of the remaining vehicles. Advantageously, the main object moves without distortion and accelerates the movement of the remaining objects. Accordingly, the vehicle identified as the main object leads the column of vehicles, and the remaining vehicles in the column follow the movement of the vehicle identified as the main object.

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

[0045] In some embodiments, the at least one object group consists of a plurality of object groups. And the method further includes assigning respective intermediate target areas to the plurality of object groups, where the objects of a given group first arrive at their respective intermediate target areas and then move from their respective intermediate target areas towards the target area. Depending on the situation, a part of the objects of the first group that move towards the target area with random variable parameters (start time, direction, speed, and / or distance) at the start may be able to pass through a narrow passage. In such a situation, a second object group may be formed for the objects that are congested 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). (That is, it may be repeatedly randomized.) Thereby, the objects of the second object group can 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 towards their respective intermediate target areas and then re-randomized to move from their respective intermediate target areas towards the target area.

[0046] In some embodiments, 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 objects from the target area and the signal strength of the sensors of the objects.

[0047] In some embodiments, the GUI is for a game application, at least one object group represents the user's army, and the target area refers to the area where the enemy army is deployed. In this regard, the user's army has a plurality of troops (i.e., a plurality of objects), and each of the plurality of troops has its own strike range. Here, based on the strike range of each of the plurality of troops with respect to the target area, the plurality of troops can be divided into different groups. And in order to form an optimal defensive formation of the user's army, first, it can be moved to each intermediate target area. Then, each of the plurality of troops is moved from its respective intermediate target area to the target area.

[0048] The present disclosure also relates to the above-described device. The various embodiments and modifications disclosed above are mutatis mutandis applied to this device.

[0049] In some embodiments, at least one of the random variable parameters includes at least one of the movement start time of a given object, the movement speed of the given object, the direction in which the given object starts to move, and the initial distance covered by the given object in the said direction.

[0050] In some embodiments, the at least one random variable parameter includes the movement start time of a given object. And the processor of the device is configured to randomly select a start time that starts within a predetermined time from a pre-defined time (t0).

[0051] In some embodiments, the at least one random variable parameter includes the speed at which a given object moves. And the processor is configured to randomly select the speed from a pre-defined speed range.

[0052] In some embodiments, the at least one random variable parameter includes the direction in which a given object starts to move. And the processor further · Based on the relative positions of the target area, the at least one obstacle, and the remaining objects of the at least one group with respect to the given object, determine a range of directions in which the given object can start moving; · Randomly select a direction for the given object to start moving from within the range; It is configured as follows.

[0053] The present disclosure also relates to the system described above. The various embodiments and variations disclosed above are applied mutatis mutandis to this system.

[0054] The plurality of devices and graphical user interfaces respectively correspond to the devices and graphical user interfaces in the second aspect. The plurality of devices can cooperate on the same software application managed and provided by a server.

[0055] In some embodiments, at least one of the random variable parameters includes at least one of the movement start time of a given object, the movement speed of the given object, the direction in which the given object starts moving, and the initial distance covered by the given object in the direction.

[0056] In some embodiments, the at least one random variable parameter includes the movement start time of a given object. And 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. And the server or processor is configured to randomly select the speed from a predefined speed range.

[0058] According to some embodiments, the at least one random variable parameter includes the direction in which a given object starts to move. And the server or processor further · determining, for a given object, a range of directions in which the given object can start to move based on the relative positions of the target area, the at least one obstacle, and the remaining objects of the at least one group with respect to the given object; · randomly selecting, from the range, a direction in which the given object starts to move; is configured as follows.

[0059] The present disclosure also relates to the computer program product described above. The various embodiments and variations disclosed above are applicable mutatis mutandis to the computer program product.

[0060] According to some embodiments, the computer program product is implemented as an algorithm incorporated into software stored in a non-volatile computer-readable storage medium. Non-volatile computer-readable storage media include, but are 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 computer-readable storage media include, but are not limited to, electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), read-only memory (ROM), hard disk drive (HDD), flash memory, secure digital (SD) card, solid state drive (SSD), computer-readable storage medium, and / or CPU cache memory.

[0061] Embodiments of the present disclosure provide a method implemented on a computer. The 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; · Generating 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, the generating; · Executing the instruction to control the movement of the objects belonging to the at least one group from their starting positions to the target area; Including. In fact, depending on the situation, an instruction regarding moving an object in a randomized manner can be provided without pre-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 executable software can be made simpler if an instruction in a randomized manner (by default) is generated for the received movement request.

[0062] [Detailed Description of the Drawings]

[0063] Referring to FIG. 1, there is illustrated a flowchart 100 showing each step of a computer-implemented method incorporating randomized motion control according to an embodiment of the present disclosure. At step 102, a graphical user interface is generated and displayed on the display screen of the device. At step 104, a request to move at least one object group to a target area on the graphical user interface is received. At step 106, it is detected whether there is at least one obstacle in the path between the target area and the at least one object group. At step 108, when it is detected that at least one obstacle is present in the path, an instruction is generated to control the movement of the objects belonging to the at least one group in a randomized manner. This instruction indicates at least one random variable parameter used during the movement of a given object of the at least one group. At step 110, an instruction for controlling the movement of the objects belonging to the at least one group from their starting position to the target area is executed.

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

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

[0066] Referring to FIG. 3, a schematic diagram of each step of 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 step S1, a request is received to move at least one object group 302 to the target area 304 via the graphical user interface 300. In step S2, the object C included in at least one object group 302 is randomized to start moving to the target area 304 earlier than the other objects (A, B, D, E) of at least one group 302. In step S3, the object E of at least one group 302 is randomized to start moving to the target area 304. In step S4, each of the objects A, B, C, D, E of at least one group 302 is randomized to start moving to the target area 304. In step S5, by controlling the movement of the objects 302 of at least one group in a randomized manner, each of the objects A, B, C, D, and E of at least one group 302 moves orderly one by one through the narrow passage between the 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 FIG. 4, a schematic diagram of a graphical user interface 400 depicting 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 FIG. 4, the graphical user interface 400 depicts the objects 402A, 402B, 402C of at least one object group 402. These objects 402A, 402B, 402C are randomized to move in different directions (shown as dashed lines L1, L2, L3 respectively) to avoid overlapping around the obstacle 406 while moving to the target area 404.

[0068] Referring collectively to FIGS. 5A and 5B, there is shown a schematic diagram of an implementation scenario of a computer-implemented method incorporating randomized movement control according to an embodiment of the present disclosure. As shown in FIG. 5A, the graphical user interface 500 depicts a plurality of object groups depicted as groups 502A, 502B, and 502C. The graphical user interface also depicts a target area 504.

[0069] As shown in FIG. 5B, the graphical user interface 500 depicts that the plurality of object groups 502A, 502B, and 502C have each moved to their respective intermediate target areas 504A, 504B, and 504C. And these plurality of object groups are each to move from their respective intermediate target areas 504A, 504B, 504C to the target area 504.

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

[0071] The embodiments of the present disclosure described above can be modified without departing from the scope defined by the appended claims. Expressions such as "comprising," "including," "incorporating," "having," "existing," etc., used to describe and claim the present disclosure are intended to be interpreted non-limitingly, and there may be items, components, elements, etc. that are not explicitly stated. Even if it is not explicitly stated that there are a plurality of elements, this does not prevent there from being a plurality of such elements.

Claims

1. 1. A computer-implemented method comprising: - generating and displaying a graphical user interface on a display screen of the device; 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 is present in a path between the target area and at least one group of objects; generating, upon detection of the presence of the at least one obstacle in the path, instructions for controlling 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 predefined order, the at least one object group being moved to the target area by passing around the at least one obstacle to avoid collision between the at least one object group and the at least one obstacle, the instructions indicating at least two random variable parameters to be used during the movement of a given object of the at least one group; - upon detecting that the path is free of obstacles, directing the individual objects of the at least one object group to the target area via the shortest route; - executing said instructions to control movement of objects belonging to said at least one group from their starting positions to said target area; wherein at least two of the random variable parameters include at least two of a start time of a given object's movement, a speed of the given object's movement, a direction in which the given object starts moving, and an initial distance covered by the given object in said direction; method.

2. 2. The method of claim 1, wherein the at least two random variable parameters include a start time of movement of a given object, the method further comprising randomly selecting a start time that begins within a predetermined time from a predefined time.

3. 2. The method of claim 1, wherein the at least two random variable parameters include a speed at which a given object moves, the method further comprising randomly selecting the speed from a predefined speed range.

4. 2. The method of claim 1, wherein the at least two random variable parameters include a direction in which a given object starts moving, the method further comprising: - determining, for a given object, a range of directions in which the given object can begin moving 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; randomly selecting a direction from said range in which said given object will begin moving; A method comprising:

5. The method of claim 1 , wherein instructions are generated to control movement of a plurality of objects belonging to the at least one group.

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

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

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

9. 1. An apparatus comprising: a display screen; a processor; wherein the processor: generating and displaying a graphical user interface on said 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 is present in a path between the target area and at least one group of objects; generating, upon detection of the presence of the at least one obstacle in the path, instructions for controlling 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 predefined order, the at least one object group being moved to the target area by passing around the at least one obstacle to avoid collision between the at least one object group and the at least one obstacle, the instructions indicating at least two random variable parameters to be used during the movement of a given object of the at least one group; - upon detecting that the path is free of obstacles, directing the individual objects of the at least one object group to the target area via the shortest route; - executing said instructions to control movement of objects belonging to said at least one group from their starting positions to said target area; configured to carry out At least two of the random variable parameters include at least two of a time at which a given object starts moving, a speed at which the given object moves, a direction in which the given object starts moving, and an initial distance covered by the given object in said direction; Device.

10. 10. The apparatus of claim 9, wherein the at least two random variable parameters include a start time of movement of 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. 10. The apparatus of claim 9, wherein the at least two random variable parameters include a speed at which a given object moves, and the processor is further configured to randomly select the speed from a predefined range of speeds.

12. 10. The apparatus of claim 9, wherein the at least two random variable parameters include a direction in which a given object begins moving, and the processor further comprises: - for a given object, determining a range of directions in which the given object can begin moving 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; randomly selecting a direction from said range in which said given object will start moving; The apparatus is configured to:

13. 13. A system including a server communicatively coupled to a plurality of devices according to any one of claims 9 to 12, said devices cooperating via respective graphical user interfaces, said server comprising: receiving a request from a given device to move at least one group of objects to a target area on a graphical user interface of said given device; - detecting, on a graphical user interface of the given device, when at least one obstacle is present in a path between the target area and at least one object group; generating, upon detection of the presence of the at least one obstacle in the path, instructions for controlling 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 predefined order, the at least one object group being moved to the target area by passing around the at least one obstacle to avoid collision between the at least one object group and the at least one obstacle, the instructions indicating at least two random variable parameters to be used during the movement of a given object of the at least one group; - upon detecting that the path is free of obstacles, directing the individual objects of the at least one object group to the target area via the shortest route; sending the generated instructions to the given device; and a processor of the given device is configured to execute the instructions to control movement of objects belonging to the at least one group from their start positions to the target area.

14. 14. The system of claim 13, wherein at least one of the random variable parameters comprises at least one of a time at which a given object begins moving, a speed at which the given object moves, a direction in which the given object begins moving, and an initial distance covered in said direction by the given object.

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

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

17. 14. The system of claim 13, wherein the at least two random variable parameters include a direction in which a given object starts moving, and the server or the processor further comprises: - for a given object, determining a range of directions in which the given object can begin moving 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; randomly selecting a direction from said range in which said given object will start moving; The system is configured as follows:

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