LATENCY EFFECT IN MULTI-PLAYER VIDEO GAME REDUCED BY SURROGATE AGENT

Abstract: A data processing system processes an interactive software application for a competition between two or more users. The system comprises user-interface machines for actuation by respective ones of the users. The machines are interconnected via a network. In order to effectively eliminate latency, a user is represented at the other users' machines as an agent whose reaction to an action of the other user is governed by a rule base stored in the system.

Description: Latency effect in multi-player video game reduced by surrogate agent FIELD OF THE INVENTION The invention relates to a data processing system, and apparatus, a software agent and to a method for reducing latency effects is an interactive multi-user software application processed via an interconnecting network BACKGROUND ART The term "latency" refers to the noticeable propagation delay between cause and effect In real-time simulation, network latency is a difficult problem to overcome Today's Internet environment has considerable latency, typically in the order of seconds High-speed analog modems introduce as much as 30 milliseconds of delay, which means 60 milliseconds end-to-end Latency effects tend to get more serious with larger size of the network and with increased network load Eliminating all network latency is impossible Consider a multi-user video software application, such as a multi-player video game or a multi-user activity in a virtual reality environment The application is processed via a network interconnecting the users The network may be a local-area-network (LAN) or a wide-area-network (WAN) Since the latency is due to propagation delays and physically inevitable, the application itself is to be made tolerant of latency Techniques are being developed for minimizing the user's awareness that latency is in the system A known technique to mitigate the latency effects in multi-player video games is dead-reckonmg Rather than constantly exchanging messages about state changes of an object, manipulated by a particular user in the virtual environment, formulae for calculating the object's trajectory are exchanged Typically, the agent of the object manipulated by the particular user as well as the other agents for other users rendering the same object all calculate the new location of the object using the formulae When the first- mentioned agent detects that the true location of the object deviates from the calculated location by more than a certain threshold, the agent transmits a message with corrective data to the other agents When the message is received by the other agents, they reposition the object and adjust their dead-reckonmg calculations Repositioning of the object may be accomplished over two or more video frames to avoid noticeable discontinuities In order to reduce data traffic, labels corresponding to specific formulae together with their arguments could be exchanged, instead of transmitting the formulae themselves, if both transmitting agent and receiving agent are provided with look-up tables for the same formulae. This technique works well for objects that are some distance away, requiring not too many updates per unit time at the receiving end, or that do not change directions too often as in flight simulators. OBJECT OF THE INVENTION Latency will probably be the most noticeable in direct, close proximity interaction between players and/or objects via the virtual environment. In reality, similar actions and reactions occur in a time frame that we call "instantly" . For example, consider a software simulation of a competitive sport such as a football game simulation video application. If a player with the ball begins to move to the left, the defender should immediately follow. Suppose that the simulation is afflicted with a delay, so that the defender has to wait, say 500 milliseconds, before he knows the new trajectory of the other player. By the time the defender has made his correction, the offensive player will have passed. It is an object of the invention to provide an alternative solution to the latency problem, in particular, but not exclusively, with regard to multi-player video game contests . SUMMARY OF THE INVENTION To this end, the invention provides a data processing system for processing an interactive software application for a competition between first and second users. The system comprises first and second user-interface machines for being actuated by the first and second users, respectively. The machines are interconnected via a network. The system is operative to represent at the first machine the second user as an agent whose reaction to an action of the first user is governed by a rule base stored in the system. According to the invention, the interactive video application uses a surrogate agent representing the player on the machine of an opposing player. In a confrontation between the players in the virtual environment, the reaction of the surrogate agent to movements of the local, opposing, player is governed by a predetermined rule base, e.g. , statistical rules. Whether the local player wins or loses the confrontation depends on the differential between his play against his opponent's surrogate versus his opponent's play against the surrogate of aforesaid local player. In theory, the outcome of the contest is the same as if the players were actually playing against each other. On the network, however, where there is considerable latency in true head-to-head play, the latency is effectively eliminated by the surrogate. The advantage are clearly that both players see immediate response and that realism is conserved. Similarly, the system is operative to represent at the second machine the first user as another agent whose reaction to an action of the second user is governed by the rule base. The rule base may have different portions, or rule sets, for governing the reaction of the first-mentioned agent and of the other agent. Different sets of rules allow differentiating between the participating users through their agents. For example, each of the participants has a pre-specified task in the application different from the task of another participant thus requiring different responses to actions. Alternatively, or supplementarily, this feature further helps to personalize the agents as individual beings with unique behavior. In a further embodiment, the rule base may comprises statistical tables to determine the agent's reaction. For the sake of completeness, the idea of using a statistical tables to determine the outcome of a contest has been used before in computer games, but in a different manner and in a different context. In a typical, known, sports simulation game, the user plays against the game's artificial intelligence, usually represented by statistical tables. The statistics may represent real sport figures' statistics, or may be determined by the difficulty-level of the game. In the invention, the statistical tables are used to determine the outcome of a contest between two individual users in a confrontation occurring in a virtual reality environment. Furthermore, the rule-base technique eliminates latency effects due to the network. Such latency effects are not present in the prior art computer game, wherein a single user competes with the computer. Alternatively, or supplementarily, the rule base is adaptable by the system to a history of actions of at least the first user or the second user. This feature reduces the discrepancy between the artificial behavior of the rule based agent and the individual behavior of the actual player guiding the agent. In other words, the agent may adopt the personal style of his user. In a still further embodiment, the rule base is selectively programmable by at least the first or the second user. This feature permits setting or fine-tuning of the rules of the game, thus personalizing the competition. It can also be used, for example, to handicap the various players, making beginning players more competitive with experienced players. To achieve the object of the invention, the invention provides an apparatus for processing an interactive software application for a competition, between a local user and at least one remote user operating a respective remote user interface machine; the apparatus comprising: communication means for exchanging information between the apparatus and the remote user interface machine with respect to operations of the users; and user-interface means for being actuated by the local user and representing actions of the local and remote user; characterised in that the apparatus is operative to represent the remote user as an agent whose reaction to an action of the local user is governed by a rule base stored in the apparatus. To achieve the object of the invention, the invention provides a software agent for use in a data processing system for processing an interactive software application for enabling interaction between at least first and second users, the system comprising: - at least first and second user-interface machines for being actuated by the first and second users, respectively; and - a network interconnecting the machines; the agent comprising means for representing the second user at the first machine, where a represented reaction of the second user to an action of the first user is governed by a rule base of the agent. BRIEF DESCRIPTION OF THE DRAWINGS The invention is explained in further detail and by way of example with reference to the accompanying drawings, wherein: Fig. l is a block diagram of a data processing system in the invention; and Fig.2 is a diagram of two user-controlled interacting agents. DETAILED EMBODIMENTS Fig. l is a diagram of a data processing system 100 according to the invention. System 100 processes an interactive software application for a competition between first and second users 102 and 104. System 100 comprises a first user-interface machine 106 to enable first user 102 to interact with system 100, and a second user-interface machine 108 to enable second user 104 to interact with system 100. Machines 106 an 108 each have a display 110 and 112 for graphical representation of the interaction. System 100 further comprises a network 114 interconnecting machines 106 and 108. Network 110 may, but need not, comprise a server 116. System 100 represents second user 104 graphically as an agent on display 108 of machine 106 of first user 102. The immediate reaction of this agent to an action of first user 102 is governed by a rule base 118. Rule base 118 is preferably stored in machines 106. Similarly, system 100 represents first user 102 graphically as another agent on display 110 of machine 108 of second user 104. The immediate reaction of this other agent to an action of second user 104 is governed by a rule base 120. Rule base 118 and rule base 120 are preferably stored in machines 106 and 108, respectively. Operation is explained with reference to Fig.2. Fig.2 is a diagram with a graphical representation of the events in the application as seen from the point of view of first user 102 at display 108. The application illustrated relates to a game of American football. Assume that first user 104 is graphically represented by a first agent 204 (the tackle) and that second user 106 is graphically represented by a second agent 206 (the running back). When agent 206 comes within range of agent 204, user 104 has to anticipate the trajectory of agent 206. Similarly, user 106 has to foresee the movements of agent 204. If running back 206 swerves to the left, tackle 204 should immediately follow. Suppose that the simulation is afflicted with a delay, so that user 104 has to wait, say 500 milliseconds, before he knows the new trajectory of running back 206. By the time user 104 has made his correction through control of tackle 204, running back 206 will have passed. In a confrontation between agents 204 and 206, the reaction of agent 204, as seen by user 106, to movements of agent 206 is governed by rule base 120. Similarly, the reaction of agent 206, as seen by user 104, to movements of agent 204 is governed by rule base 118. Whether the user 106 wins or loses the confrontation depends on the differential between his play against his opponent's agent, now controlled by rule base 120, versus the play of his opponent 104 against agent 206, controlled by rule-base 118. The outcome of the confrontation, determined by rule bases 118 and 120, is communicated to both users 104 and 106 after the confrontation has finished, i.e. , in a less time-critical part of the game that is less susceptible to noticeable latency effects. Rule bases 118 and 120 comprise, for example, rules based on statistics as mentioned above. Of course, other rule types can be used as well. Rule bases 118 and 120 may be made to adapt to a history of actions of first user 102 or second user 104, or to both. System 100 may record actions and reactions of users 102 and 104 when interacting with system 100. This inventory may show particular tendencies in the behavior of individual users. For example, user 106 will make his agent 206 swerve to the right in 70% of the confrontations with agent 204 and 30% to the left. This information is valuable to user 104. Accordingly, system 100 may update the rule base for agent 204 to adapt to this behavior: move to the left in 70% of the cases and 30% to the right when opposing each other face to face. During a game, the rule bases are thus updated dynamically. Rule bases 118 and 120 may be programmable by at least user 104 or user 106, so that the game can be adapted to the level of skill required of the users. Rule bases 118 and rule base 120 need not be uniform. Different rules are required depending on the type of role played by user 104 and user 106. In a game wherein the roles frequently interchange, as in the example of the football game, rule bases 118 and 120 are symmetric. Both parties in the example above play the offense and the defense alternately. Now suppose that the game is attended by twenty-two users, numbers one to eleven playing in a first team, and numbers thirteen to twenty-two playing in a second team. Each team has players with different tasks. For example, in the offense team: quarterback, wide receiver, running back, etc. Each of them can have his own set of rules to play by. This then is reflected by different rule bases for each of the players, and a confrontation between different roles requires a different scenario of rules to govern the outcome. Preferably, rules that actually apply to a current confrontation can be overridden by messages from the user in order to change the scenario. For example, the user may indicate that he wants to run away instead of continue the encounter (in the football game), or that he chooses another weapon (not applicable to the regular football game or so it is hoped). The rules that govern reactions and quick action responses in the new scenario then change accordingly. Note that the latency problem is solved entirely in software. Accordingly, the invention may be fully embodied in a storage device comprising an interactive software application for a competition between first and second users, wherein the application comprises a rule base for governing a reaction of an agent, representing the second user in the application, to an action of the first user in a confrontation. As is clear, the invention is not restricted to the interactions of pairs of players. The same technique is applicable to one, two or more players simultaneously interacting with many other players. Each player then is represented by his agent on the other players' machines.

Claims: CLAIMS: 1. A data processing system for processing an interactive software application for a competition between at least first and second users, the system comprising: - at least first and second user-interface machines for being actuated by the first and second users, respectively; - a network interconnecting the machines; and wherein the system is operative to represent at the first machine the second user as an agent whose reaction to an action of the first user is governed by a rule base stored in the system. 2. The system of claim 1 , wherein the system is operative to represent at the second machine the first user as another agent whose reaction to an action of the second user is governed by the rule base. 3. The system of claim 1 , wherein the rule base comprises statistical tables determining the reaction. 4. The system of claim 1 , wherein the system is operative to adapt the rule base to a history of actions of at least the first user or the second user. 5. The system of claim 1, wherein the rule base is selectively programmable by at least the first or the second user. 6. The system of claim 2, wherein the rule base has a portion for governing the reaction of the first-mentioned agent, and a second portion, at least partly different from the first portion, for governing the reaction of the other agent . 7. An apparatus for processing an interactive software application for a competition between a local user and at least one remote user operating a respective remote user interface machine; the apparatus comprising: communication means for exchanging information between the apparatus and the remote user interface machine with respect to operations of the users; and user- interface means for being actuated by the local user and representing actions of the local and remote user; characterised in that the apparatus is operative to represent the remote user as an agent whose reaction to an action of the local user is governed by a rule base stored in the apparatus. 8. A software agent for use in a data processing system for processing an interactive software application for enabling interaction between at least first and second users, the system comprising: - at least first and second user-interface machines for being actuated by the first and second users, respectively; and - a network interconnecting the machines; the agent comprising means for representing the second user at the first machine, where a represented reaction of the second user to an action of the first user is governed by a rule base of the agent. 9. A method of processing an interactive software application for a competition between first and second users actuating first and second user-interface machines interconnected via a network, the method comprising: - representing the second user as an agent at the first machine; - governing a reaction of the agent to an action of the first user by a rule base. 10. The method of claim 9, further comprising: - representing the first user as another agent at the second machine; - governing a reaction of the other agent to an action of the second user by the rule base. 11. The method of claim 10, comprising: - adapting the rule base on the basis of a history of actions of at least the first or the second user. 12. A storage device comprising an interactive software application for a competition between first and second users, the application comprising: - a rule base for governing a reaction of an agent, representing the second user in the application, to an action of the first user.

Inventors: BEITEL BRADLEY JAMES, BEITEL, BRADLEY, JAMES
Applicants: PHILIPS ELECTRONICS NV, PHILIPS NORDEN AB, PHILIPS ELECTRONICS N.V.
Application year: 1997
Main classification: G06F17
IPC codes: A63F13, G06F13, G06F15, G06N5