A targeting
system uses data streamed from multiple user interfaces (10). The targeting
system comprising a digital representation (56) of a real-world environment (14) in which the multiple user interfaces (10) are being used by users (12). Data is obtained from the multiple user interfaces (12), wherein the data comprises, for each interface:
location data giving the location of the
user interface (10), orientation data giving a vector of a target axis (26) of the
user interface, image data from a camera device (30) pointing in a direction that extends along the target axis (26), and an activation state of a trigger device (32) of the
user interface (10). The digital representation (56) is kept continuously updated with the locations of the multiple user interfaces (10) and the vectors of the target axes 26 as the user interfaces (10) are moved by their users (12). The image data is used to determine the placement of real-world target objects including the placement of users (12) of the user interfaces (10) and the placement of intervening objects in the real-world. A simulated shot (21, 22, 23, 24) is fired by a first user (12) by activation of the trigger device (32) of their user interface (10). The targeting
system determines if a path (52) of the simulated shot (21, 22, 23, 24) has passed within a certain distance of a second user (12) of the second user interface (10). This is done based on at least two of: the image data from the first user interface (10), the vector of the target axis (26) of the first user interface (10), and a relative location of the first and second user interfaces (10). The targeting system also simulates the effect of any intervening objects (16), (18) on the path (52) of the simulated shot (21, 22, 23, 24) based on penetration ability for the simulated shot (21, 22, 23, 24) and on determination of the properties of the real-world intervening objects (16, 18). The second user (12) receives feedback, e.g. audible feedback, if the path (52) of the simulated shot (21, 22, 23, 24) is determined to have passed within a certain distance of the second user (12).