Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TRACK BASED PLAY SYSTEMS
Document Type and Number:
WIPO Patent Application WO/2016/003846
Kind Code:
A1
Abstract:
Track based play systems are described which comprise a set of physical play pieces and an associated computer game. In an embodiment, a user may arrange some or all of the play pieces in the set to form a path. The computer game is arranged to infer a virtual model of the path defined by the user-created arrangement of the play pieces. The inference may be based on data communicated by one or more the play pieces to the game or based on data from a local sensing device such as a camera which views the relative positions of the play pieces. Having inferred the path, the game constrains a virtual or physical object to the path within the game play and renders a graphical user interface showing at least a portion of the path.

Inventors:
SCOTT JAMES WILLIAM (US)
ZHANG HAIYAN (US)
VILLAR NICOLAS (US)
BUNTING ALEXANDRA KEELEY (US)
Application Number:
PCT/US2015/038217
Publication Date:
January 07, 2016
Filing Date:
June 29, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
MICROSOFT TECHNOLOGY LICENSING LLC (US)
International Classes:
A63F7/36; A63F3/00; A63F13/00; A63F13/65; G06F3/00; G06F3/01
Domestic Patent References:
WO2011112498A12011-09-15
Foreign References:
US20100331083A12010-12-30
US20070188444A12007-08-16
JP2011036418A2011-02-24
Other References:
KYLE GILPIN ET AL: "Robot pebbles: One centimeter modules for programmable matter through self-disassembly", 2010 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION : ICRA 2010 ; ANCHORAGE, ALASKA, USA, 3 - 8 MAY 2010, IEEE, PISCATAWAY, NJ, USA, 3 May 2010 (2010-05-03), pages 2485 - 2492, XP031743752, ISBN: 978-1-4244-5038-1
Download PDF:
Claims:
CLAIMS

1. A set comprising a plurality of active physical play pieces, wherein the active physical play pieces in the set are arranged to actively communicate with at least one of:

a computer game, and

at least one of each other,

to assist the game to infer a shape of a path formed from active physical play pieces.

2. The set according to claim 1, wherein one or more of the active physical play pieces in the set is shaped such that it is capable of interlocking with one or more other physical play pieces.

3. The set according to claim 1, wherein the set comprises a plurality of active physical play pieces having different shapes.

4. The set according to claim 1, wherein one or more of the active physical play pieces comprises:

one or more sensors configured to detect an arrangement of the play piece; and a wireless transmitter arranged to transmit data describing the detected

arrangement to at least one of each other and the game.

5. The set according to claim 1, wherein one or more of the active physical play pieces in the set comprises:

a wireless receiver arranged to receive commands from the game; and

a feedback mechanism arranged to indicate a current position of a virtual object within the game along the path based on a command received from the game.

6. The set according to claim 1, further comprising one or more passive physical play pieces and wherein one or more of the active physical play pieces comprises one or more sensors configured to detect an arrangement of a proximate passive physical play piece.

7. The set according to claim 1, further comprising a further active physical play piece, the further active play piece comprising:

a processor;

a communication interface arranged to receive configuration data from one or more other active physical play pieces, wherein the configuration data describes an arrangement of one or more active physical play pieces; and a memory arranged to store the computer game, the computer game comprising device-executable instructions which when executed cause the processor to infer the shape of the path formed from active physical play pieces using configuration data received.

8. One or more computer storage media with device-executable instructions that, when executed by a computing system, direct the computing system to:

determine a physical arrangement of a plurality of physical play pieces; and infer a virtual model of a path from the arrangement, wherein within gameplay, an object is constrained to the path.

9. The computer storage media according to claim 8, wherein the virtual model of the path is based on:

a spacing between the plurality of physical play pieces; and/or

both the physical arrangement of a plurality of physical play pieces and a shape of each of the plurality of physical play pieces.

10. The computer storage media according to claim 8, wherein the object is one of a virtual object within the game and a physical object and wherein the device- executable instructions, when executed by a computing system, further direct the computing system to:

constrain the object to path within gameplay.

Description:
TRACK BASED PLAY SYSTEMS

BACKGROUND

[0001] There are many ways that a user can interact with a computer game and typically a user controls the game via a keyboard and mouse, games controller (which may be handheld or detect body movement) or touch screen, dependent upon the platform on which the game is being played (e.g. computer, games console or handheld device). A number of games have also been developed in which gameplay is enabled (or unlocked) through the use of physical character toys which are placed on a custom base connected to a games console. By placing different toys on the custom base, different gameplay is enabled.

[0002] The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known apparatus for interacting with computer games.

SUMMARY

[0003] The following presents a simplified summary of the disclosure in order to provide a basic understanding to the reader. This summary is not an extensive overview of the disclosure and it does not identify key/critical elements or delineate the scope of the specification. Its sole purpose is to present a selection of concepts disclosed herein in a simplified form as a prelude to the more detailed description that is presented later.

[0004] Track based play systems are described which comprise a set of physical play pieces and an associated computer game. In an embodiment, a user may arrange some or all of the play pieces in the set to form a path. The computer game is arranged to infer a virtual model of the path defined by the user-created arrangement of the play pieces. The inference may be based on data communicated by one or more the play pieces to the game or based on data from a local sensing device such as a camera which views the relative positions of the play pieces. Having inferred the path, the game constrains a virtual or physical object to the path within the game play and renders a graphical user interface showing at least a portion of the path.

[0005] Many of the attendant features will be more readily appreciated as the same becomes better understood by reference to the following detailed description considered in connection with the accompanying drawings. DESCRIPTION OF THE DRAWINGS

[0006] The present description will be better understood from the following detailed description read in light of the accompanying drawings, wherein:

FIG. 1 shows schematic diagrams of two example play systems and a schematic diagram of an example arrangement of a subset of the physical play pieces;

FIG. 2 shows a flow diagram of an example method of operation of a computer game;

FIG. 3 is a schematic diagram of an example active piece and a flow diagram showing an example method of operation of an active piece;

FIG. 4 is a schematic diagram of another example active piece which incorporates the game;

FIG. 5 shows schematic diagrams of example arrangements of physical play pieces;

FIG. 6 shows a flow diagram of another example method of operation of a computer game;

FIG. 7 is a schematic diagram of two example physical play pieces which form part of a set of physical play pieces;

FIG. 8 is a flow diagram of an example method of operation of a core play piece such as shown in FIG. 7;

FIG. 9 shows a schematic diagram of hardware which may be used to perform topology detection and a flow diagram of an example method of using the hardware; and

FIG. 10 illustrates an exemplary computing-based device in which embodiments of the methods described herein may be implemented.

Like reference numerals are used to designate like parts in the accompanying drawings.

DETAILED DESCRIPTION

[0007] The detailed description provided below in connection with the appended drawings is intended as a description of the present examples and is not intended to represent the only forms in which the present example may be constructed or utilized. The description sets forth the functions of the example and the sequence of steps for constructing and operating the example. However, the same or equivalent functions and sequences may be accomplished by different examples.

[0008] FIG. 1 shows schematic diagrams of two example play systems 101-102 which each comprise a set of physical play pieces 103-104 and a computer game 106 and a schematic diagram of an example arrangement 105 of a subset of the physical play pieces 103-104. In both example play systems 101-102, the game 106 uses a user's arrangement 105 of the plurality of physical play pieces 103-104 as an input and so the game 106 may be described as being associated with the set of physical play pieces 103- 104. During game play, the arrangement 105 may remain the same or a user may dynamically re-arrange the physical play pieces to create new arrangements and/or modify an existing arrangement.

[0009] As described in more detail below, the individual physical play pieces which form the set may all be the same shape or may have different shapes (as shown in FIG. 1) and the shapes of the pieces may be regular shapes (e.g. square or rectangular) or irregular in shape (e.g. as is the case for many of the pieces shown in FIG. 1). The pieces may be shaped such that they are interlocking or can otherwise connect to each other (e.g. via connectors on each piece). The connection between pieces may provide a physical connection and/or an electrical connection. In various examples, the pieces may be shaped such that they can be butted up to each other without any connecting mechanism joining the pieces together. Where the physical play pieces are shaped so that they can be butted up against each other or are interlocking, the play pieces within the set may be described as being compatible and may also be referred to as tiles. In further examples, the pieces may not be shaped so that they can be placed close together and a user may arrange them as they choose.

[0010] In the first example play system 101 shown in FIG. 1, the physical play pieces 103 are active pieces in that each piece actively communicates (i.e. sends / receives data) with other pieces and/or the associated game 106 to assist the game 106 to infer a shape of a path defined by the arrangement of the pieces and in various examples to infer a shape of a path defined by both the arrangement and the shape of the pieces (e.g. as in the case of the arrangement 105 shown in FIG. 1). In examples where inference is based on both the arrangement and the shape of the pieces, the set of pieces comprises pieces having different shapes (e.g. as shown in FIG. 1). Active pieces are described in more detail below with reference to FIG. 3. The associated computer game 106 runs on a computing device 108 which may be a desktop, laptop or tablet computer, a games console, a smart phone or any other computing device. In other examples, however, the computing device 108 may be integrated into one of the play pieces 103 and this is described in more detail with reference to FIG. 4. In the example system 101 shown in FIG. 1, the game 106 is stored in memory 110 in the computing device 108 and comprises device-executable instructions which are executed by a processor 112. The game 106 receives data from the active pieces 103 via a communication interface 113 in the computing device 108. It will be appreciated that the computing device 108 may also comprise additional elements and the computing device 108 is described in more detail below with reference to FIG. 10.

[0011] In the second example play system 102 shown in FIG. 1, the physical play pieces 104 are passive in that they do not actively communicate with each other or with the associated game. In the example system 102 shown in FIG. 1, the game 106 is stored in memory 110 in a computing device 114 and comprises device-executable instructions which are executed by a processor 112. Instead of receiving communications from one or more pieces (as in example 101), the game 106 senses the arrangement of the pieces using a sensing device 116 in the computing device 114 on which the game runs. As described above, the computing device 114 may be a desktop, laptop or tablet computer, a games console, a smart phone or any other computing device. It will be appreciated that the computing device 108 may also comprise additional elements and the computing device 114 is described in more detail below with reference to FIG. 10. The sensing device 116 may, for example, be a camera and image recognition / analysis system. Although the sensing device 1 16 is shown as part of the computing device 114, in other examples it may be part of a peripheral device connected to the computing device 114. In various examples, the sensing device 116 may be a Microsoft® Kinect®. Depending on the sensing technology, the passive physical play pieces 104 may be constructed to facilitate the job of sensing their arrangement. For example, for a depth-camera based system using infra-red light, the pieces may be (or may have parts that are) reflective in the infra-red spectrum. For visible light cameras, the pieces may include color or pattern combinations that are chosen to be easily recognized or differentiated from the background.

[0012] In a further example play system, the set of physical play pieces may comprise one or more active pieces and one or more passive pieces. In such an example, the active play pieces may detect their own arrangement (or configuration, e.g. orientation, which other play pieces they are connected or adjacent to, etc.) and also the arrangement of any proximate passive pieces and then communicate with other pieces and/or the game 106 to assist the game 106 to infer a shape of a path defined by the arrangement of all of the pieces.

[0013] The operation of the game 106, which may be referred to as an electronic game, a video game or computer game (because it runs on a computing device 108, 114 and comprises device-executable instructions even though that computing device may take any form), can be described with reference to FIG. 2. As shown in FIG. 2, the game 106 infers a virtual model of a path defined by an arrangement of physical play pieces (block 206), where these pieces may, for example, be the pieces 103-104 shown in FIG. 1.

Dependent upon whether the pieces are active (as shown in example 101) or passive (as shown in example 102) or a combination of active and passive play pieces, the inference (in block 206) may be based on configuration data received from one or more physical play pieces (block 202) and/or on sensing the arrangement of play pieces (block 204). Where the pieces are active, the configuration data may be received from each of the play pieces (in block 202) or alternatively the configuration data may be collated by a subset of the play pieces (which in an extreme case may be a single play piece within the set) and the game may then receive configuration data from the subset of the play pieces.

[0014] The virtual model of the path can be inferred (in block 206) from the physical pieces in a number of ways depending on whether the pieces are active or passive, how they are sensed, and whether the pieces themselves constitute the path or whether the pieces constitute boundaries or waypoints that define the path implicitly (as described in more detail below with reference to FIG. 5). For active pieces which sense their interconnectivity, the shapes of the pieces and the interconnectivity information (which may include information concerning the sensed relative orientation of pieces as well as the identities of neighbor pieces, where the orientation is not fixed due to joints between the pieces being rigid) can be used to infer a real-world topology which can be directly mapped onto a virtual track path following a similar 2D or 3D layout. For passive pieces sensed through a remote sensing device 116, the sensor can determine the identity, location and relative orientation of the pieces which can feed into the above inference process as well. Where the pieces form walls between paths, the paths can be derived from the wall positions using a number of methods. One such method is to "invert" the sensed paths, i.e. to render them onto a virtual image (e.g. in black on a white

background), and then to use computer vision techniques to look for white lines that remain, or to use a virtual robot which can only "walk" on white pixels to virtually explore and hence generate a topological map of which locations can be reached from other locations.

[0015] Having inferred a virtual model of a path (in block 206), the game constrains the position of a virtual and/or physical object to that path within the game play (blocks 208-210). In various examples, the configuration of at least a portion of the path (e.g. at least the part of the path where the object is currently located) and/or the object which is constrained to the path are reflected within a graphical user interface (GUI) of the game (block 212). In various examples, this comprises displaying a portion of the path, the object and/or a view from the path within the GUI. In addition, or instead, the reflection of the path within the GUI may comprise enabling user inputs to affect movement of an object along the path as part of the game play. This may be directly (e.g. by linking a user input to a particular motion along the path within the gameplay such as "left button = go left along path") or indirectly (where the object's actual motion is controlled by the game engine but the user inputs higher-level commands such as "stay put", "follow another object", "search for another object", etc.).

[0016] In examples where a virtual object is constrained to the path (in block 208), the edges of the virtual path may be treated, within the game play, like barriers or walls that the virtual object cannot pass through and various example game scenarios are described below. The motion of the virtual object along the path may be controlled by a physics engine within the game 106 and in various examples, the physics engine may also control the effect on the virtual object of hitting the edge of the virtual path (e.g. the object may bounce back off the wall). In various examples, there may be a feedback mechanism on the physical play pieces themselves (e.g. in the form of one or more LEDs) to indicate the current position (and hence also the motion) of the virtual object on the virtual path relative to the actual arrangement of the physical pieces. Any feedback mechanism may, in addition or instead be used to display the position (or motion) of a virtual object which is controlled by the game (e.g. to show its position relative to a virtual object controlled by the user or relative to a physical object constrained to the path and controlled by the user).

[0017] In examples where the physical object is constrained to the path (in block 210) this may be a result of the physical shape of the play pieces themselves (e.g. the play pieces may have one or more grooves or indentations in their surface along which the physical object moves), a constraining mechanism within the play pieces that is controlled by the game (e.g. electromagnets within the pieces that attract the object and are switched on and off by the game) and/or virtual in-game effects (e.g. such that if the physical object is removed from the path it disappears from within the virtual world depicted by the game). The physical object may be moved directly by the user (e.g. the user may push the object along the track) or indirectly by the user (e.g. via the game or other remote control device). Alternatively, the physical object may be controlled by the game without user input (e.g. it may be an autonomous object). When the game controls the physical object's movement, the object can be constrained to follow the path by restricting the control sequences to stay on the path. In various examples more subtle constraints may be used, whereby the game UI allows the user to control the movement of the object and leave the path, but if they do so, then in-game penalties occur (e.g. in a racing game, the object moves slower), or modifications to the control system are made (e.g. the steering is altered slightly to tend to move the object back towards the path).

[0018] There are many ways in which the GUI may reflect the configuration of at least a portion of the inferred path to the user (in block 212) and in various examples also display the object. In various examples the GUI may display a plan view (e.g. similar to a map) of the inferred path and/or a view of a part of the path as if seen from the position of the object (e.g. where the object is a vehicle, the view in the GUI may be as would be seen by an occupant of the vehicle). This may, for example, enable a user to appear (within the computer game) to be driving a vehicle around a path they have created in their own living room, where the path is defined by active pieces or passive pieces. Where the path is inferred based on passive pieces, the passive pieces may include items of furniture, cushions, etc. in the living room.

[0019] As described above, in various examples a user may re-arrange the physical pieces to create / modify the arrangement during game play. This re-arrangement may result in the method shown in FIG. 2 being repeated (e.g. the game will infer a new path and then reflect this in the GUI and constrain a physical/virtual object to the new path).

[0020] Although the arrangement of pieces 105 shown in FIG. 1 is of a closed path, in various examples, a user may create a path which is not closed (e.g. it may have a start and a finish). In such examples, a user may be able to extend the path by removing parts of the arrangement (i.e. pieces from the set) which have already been traversed by the virtual / physical object that is constrained to the path (e.g. by removing parts from the start of the path) and placing the parts at the opposite end of the path (e.g. at the end of the path). In various examples the path may be inherently directional (i.e. the object which traverses the path may have to move in a predefined direction).

[0021] FIG. 3 is a schematic diagram of an example active piece 300 and a flow diagram showing an example method of operation of an active piece. The active piece

300 comprises a processor 302, transmitter 304 and one or more sensors 306. As shown in the flow diagram, the piece detects the arrangement of the piece using the one or more sensors 306 (block 310) and then transmits configuration data which describes the arrangement of the piece using the transmitter 304 (block 312). The configuration data may be transmitted (in block 312) directly to the game or may be transmitted to another play piece. Where one play piece collects configuration data for one or more other play pieces, it may receive configuration data from other play pieces (block 314) prior to transmitting all the configuration data to the game (in block 312). Where the set of physical play pieces comprises a combination of active pieces and passive pieces, an active piece may detect the arrangement of a proximate passive piece (block 316) prior to transmitting the configuration data to the game (in block 312).

[0022] The one or more sensors 306 detect the arrangement of the play piece 300

(in block 310) and the arrangement which is detected may be an absolute position and/or orientation of the play piece (e.g. "at coordinate (x,y)" and/or "face B upwards") or a relative position of the pieces (e.g. "next to piece X" or "between pieces A and B") or a combination of the two (e.g. "next to piece X and face A upwards"). Examples of sensors which may be used include, but are not limited to, accelerometers, magnetometers, infrared transceivers, color sensors, etc. Two play pieces 300 may also communicate with each other using a wired (e.g. 1-Wire) or proximity-based wireless networking technology (e.g. RFID) to determine their relative orientation. As described above, the one or more sensors

306 may also detect the arrangement of a proximate passive play piece (in block 316), e.g. using RFID, magnetometers, color sensors or other sensing technologies.

[0023] In some examples, the active piece 300 may further comprise a feedback mechanism 307 (e.g. one or more LEDs) and a receiver 308. The feedback mechanism

307 may be used to indicate the position of a virtual object on the path defined by the arrangement of physical pieces. Consequently, an active piece 300 may receive a command (e.g. data) from the game 106 via the receiver 308 (block 318) indicating a position of a virtual object and may activate the feedback mechanism 307 to display the position (block 320). The virtual object, the position of which is indicated by the feedback mechanism 307, may be a virtual object which is controlled by the user within the game 106 or an autonomous object controlled by the game 106. In other examples, the feedback mechanism 307 may be arranged to move the physical object along the track (e.g. using motors and/or servoes and/or by providing control signals to a control mechanism within the physical object).

[0024] The transmitter 304 and/or receiver 308 in a play piece 300 may be a wireless device and may for example use Bluetooth® Low Energy (BLE) or other short range wireless protocol (e.g. IEEE 802.15.4 or ANT+). In other examples, the transmitter 304 and/or receiver 308 in a play piece 300 may use a wired connection to the computing device 108. Where a wired connection is used, the connection to the computing device 108 may be provided by only one of the active pieces in the arrangement which may collect data from all the other active pieces in the arrangement for transmission to the computing device 108. Use of a wired connection may be useful where one or more active pieces have a relatively high power consumption (which would result in a short battery life if battery powered) because the wired connection can also be used to provide power to the play piece and, in various examples, to other play pieces in the arrangement. For example, if the physical play pieces move the physical object along the path using motors or servoes or if pieces incorporate displays or vibration motors to show where the virtual object is, etc.

[0025] FIG. 4 is a schematic diagram of another example active piece 400 which incorporates the game 106. This active piece 400 may be part of a set of physical play pieces where the other active pieces in the set are as shown in FIG. 3 and described above. The set may only comprise active pieces (e.g. one piece 400 and multiple pieces 300) or may also comprise one or more passive pieces. As shown in FIG. 4, the active piece comprises a processor 112, memory 110 which stores the game 106, a communication interface 113 and one or more sensors 306. The operation of this active piece can be described with reference to FIGs. 2 and 3. The active piece 400 receives configuration data from one or more other physical play pieces in the set (block 202) via the

communication interface 113 and also detects its own arrangement (block 310) using the one or more sensors 306. In various examples, the active piece 400 may also detect the arrangement of a proximate passive piece (block 316) using the one or more sensors 306. From the detected arrangements and configuration data received, the game 106 infers a virtual model of a path defined by the arrangement of the play pieces (block 206) and constrains a virtual / physical object to the path as part of the game play (block 208 and/or block 210).

[0026] In various examples the active piece 400 may further comprise a feedback mechanism 307 which is controlled by the game 106 and the game may transmit signals to other active pieces (via communication interface 113) to control feedback mechanisms in other active pieces in the arrangement.

[0027] The game may also generate a GUI showing the virtual model of the path

(or at least a part of the path) and the object constrained to the path and this GUI may be rendered on a separate computing device. In an example, a separate computing device may render the GUI within a web browser and this separate computing device may communicate with the active piece 400 directly via the communication interface 113 or may receive the GUI data via an intermediary (e.g. from a web server which

communicates with the active piece 400). For example, the active piece 400 may be connected to a cloud service which performs the graphics processing to render complex game content which can be viewed in a web browser on the separate computing device. This means that the play pieces only have to sense and report low-level data about their relative placement. Alternatively, the play pieces may incorporate one active piece that acts as a web server and generates the GUI via that web service. Access to the web service (by the separate computing device) may be via an 802.11 wireless access point embedded in the active piece or the active piece may connect to a shared network (e.g. a home WiFi™ network, via transmitter 304). Discovery of the active play piece may use techniques such as uPnP or the active piece may have an NFC interface which allows it to broadcast its current location on the home network to nearby devices (e.g. by broadcasting a URL such as http://192.168.0.107/ where the home router assigned the play piece master that IP address).

[0028] There are many different ways in which the plurality of physical play pieces (whether active or passive) can define the shape of a path (as inferred by the associated game). A first example arrangement of pieces 105 is shown in FIG. 1 and in this case a combination of the arrangement and shape of each of the pieces is used to infer the path. As can be seen in FIG. 1, in this example 105 the pieces themselves form the path and in this example the pieces may be shaped to look like pieces of a track (e.g. a railway track), path, road, etc. Another example of pieces which themselves form the track is shown in the first example 501 in FIG. 5. In this example 501, each of the pieces 510 resembles a portion of a tube or pipe and again a combination of the shape and arrangement of pieces form the path (e.g. as indicated by the arrows). In this example, the path may naturally be directional because a user will intuitively expect an object (or fluid) to fall (or flow) downwards through the pieces.

[0029] In the next two examples 502-503 in FIG. 5, the pieces do not form the path but instead define the boundaries (or edges) of the path (again indicated by arrows). In the first of these examples 502, the pieces 520 form continuous walls which define the path (e.g. like a maze) and in the second of these examples 503, the pieces 530 form an outline of the path (e.g. like bollards or traffic cones / pylons) but do not necessarily touch each other (i.e. there are gaps between pieces 530). A threshold spacing between pieces 530 may be defined such that a gap between pieces that is less than the threshold is not inferred as a gap in the boundary of the path and a gap between the pieces that exceeds the threshold is inferred as a gap in the boundary of the path. The value of the threshold may be fixed or variable and in various examples may be dependent on the object traversing the paths (e.g. a smaller object may be able to pass through smaller gaps between pieces than a larger object) and this may result in a game 106 inferring multiple paths (e.g. in block 206 of FIG. 2).

[0030] In the final example 504 in FIG. 5, the pieces 540 define the path (again indicated by arrows) by forming waypoints that the path goes through. In such an example, the pieces may be numbered to indicate the order in which waypoints are traversed or this order may be input by a user or inferred by the game (e.g. according to the order in which the pieces are placed by the user).

[0031] In various examples, a user may be free to place the physical play pieces where they want and also to re-arrange the play pieces. In other examples, however, there may be restrictions which limit the positioning and/or order of placement of the play pieces. These restrictions may be a result of the physical shape of the play pieces (e.g. so that only certain play pieces can connect together or be placed abutting each other) and/or may be a result of rules within the game (e.g. the game may specify that a blue edge to a piece may only be placed abutting a blue edge on another tile).

[0032] The sets of physical pieces and associated game may be used for many different types of games and in various examples, the play pieces may be shaped according to the type of game. Various examples include:

• vehicle based games where the pieces form a track, road, river or rail and the

physical / virtual object is a vehicle (e.g. car, train, boat, rollercoaster car) which travels along the track / road / river / rail

· games where the pieces form pipes or tubes and the physical / virtual object is a fluid which flows through the pipes or tubes or an object (e.g. a marble or ball) which rolls along inside the pipe or tube (a physics engine may control or influence the motion of the fluid / object)

• point-of-interest based games where physical pieces represent waypoints such as planets (in a space-themed game) or castles (in a historically-themed game) or other waypoints that the virtual/physical object (e.g. a spacecraft, cart, etc.) can move between. In this case, the path may be defined by other pieces (in addition to the pieces representing waypoints), or the path may be implicit, in that it is a direct route between waypoints. In the latter case the path may be constrained by the game or environment (rather than just being a straight line between waypoints), e.g. there may be a maximum and/or minimum path length between waypoints that is pre-defined. In another example, the user may unlock a path between waypoints through gameplay. In this case, projectors or other output technology may be mounted on either the physical pieces, the computing device hosting the associated game, or a third device, in order to illustrate the paths and the activity on the paths in the real world.

[0033] FIG. 2 (described above) shows a flow diagram of a method of operation of the game 106. Further operation of the game 106 (e.g. the GUI and/or the game play itself) is affected by the inferred path (from block 206) and may also be affected by which particular physical play pieces are used to form the path and/or how the user interacts with the physical play pieces and any physical object which is constrained to the path. In various examples, user interaction with one or more play pieces or the physical object translates into inputs to the game and the translation (from user interaction to game input) may be performed within a play piece, physical object and/or within the game. The game inputs (and hence the user interactions) affect the operation of the game. As described above, a user may push or otherwise move a physical object directly or may remotely control the object (e.g. via the game or other remote control device). In further examples, the object may be powered (e.g. it may comprise a motor) and so may be autonomous or controlled by the game 106 (e.g. it may be controlled by the feedback mechanism 307 within an active piece).

[0034] As well as responding to the user's arrangement of play pieces (by inferring the path in block 206 and representing it within the game in block 212) (and in various example also interactions with the physical object and/or play pieces) in a style of game play which may be described as non-directed (because the game does not force or suggest any particular interaction with the play pieces and any physical object constrained to the path), the game 106 may also provide directed game play, as shown in FIG. 6.

[0035] In the directed game play, the game 106 presents goals or objectives to the user (who might also be referred to as a player) within the game 106 (block 604) where those goals / objectives require the player to interact with the physical pieces and/or a physical object (where there is one) in order to further progress within the game 106, i.e. the user cannot achieve the goal / objective without interacting with the physical pieces and/or a physical object. For example, a user may need to rearrange the physical play pieces to create a different shape of path (e.g. to reach a target location which may be a real or virtual location), move the physical object along the path in some way (e.g. in the form of a race, to beat other virtual objects which are autonomously controlled by the game), etc. In order to determine whether the objective has been met, the game 106 may receive configuration data from one or more physical pieces (block 202), sense an arrangement (or change in arrangement) of a plurality of physical play pieces (block 204), receive data from a physical object constrained to the path (block 606) or sense a location (or position along the path) of a physical object (block 608).

[0036] In examples where the game 106 receives configuration data from one or more physical pieces (in block 202) or senses an arrangement (or change in arrangement) of a plurality of physical play pieces (in block 204), the game 106 then infers a new (or updated) version of a path from this data (block 206), as described above with reference to FIG. 2.

[0037] The game 106 then modifies the game play (block 610) dependent upon whether the objective (set in block 604) has been met or not. By meeting the objective, the user may be able to progress to a new level, achieve a higher score, win a contest, unlock additional features (e.g. hidden features, mini-games, new levels, etc.) within the game 106, get an "achievement" awarded to them, assist other players in cooperative multiplayer scenarios, play against other players in competitive multiplayer scenarios, etc.

[0038] The progression which is achieved through the interaction with physical play pieces and/or physical object (and hence achieving the objective set) may be linear progression (e.g. progression to the next level) or may be non-linear progression which results in an enhancement to the game play. For example, the interaction may unlock some optional content e.g. a new avatar for the virtual vehicle which is not required to complete the main storyline of the game.

[0039] The directed game play may be explicit, in that the goals / objectives and the corresponding need to interact with the physical play pieces and/or physical object are clearly communicated to the user (e.g. through messages within the graphical user interface, GUI). Alternatively, the goals / objectives and/or the need to interact with the physical play pieces and/or physical object may be implicit, in that the goals / objectives or required arrangement of physical play pieces and/or physical object are known to the game but are not communicated to the user and must be discovered by the user. The use of implicit directed game play adds further challenges to the user and enhances the user experience. [0040] The objectives which are presented to the user (in block 604) may be predefined and stored within the game software. Alternatively they may be generated dynamically (block 602). In various examples, they may be generated based at least in part on the information received from the physical play pieces (in block 202 or 204 of FIG. 2), e.g. they may be dependent on the current arrangement of physical play pieces. In various examples, the objective which is set may be generated based on the user's history (e.g. past performance) within the game or based on any other characteristics of the user or information about the user. Data detailing the user's history may, for example, be stored by the game itself or alternatively may be stored on a remote server and accessed by the game. By tailoring the objectives to be specific to a user, this enhances the overall user experience within the game. In examples where the objectives are dynamically generated (in block 602), this may comprise one or more of: choosing an objective or goal from a pre-existing list of possible objectives/goals (e.g. based on a characteristic of the user or another factor described above), creating an objective/goal based on random factors and using existing gameplay to date to influence the choice/creation of objective/goal.

[0041] In various examples, the objective presented to the user (in block 604) may be time-based (e.g. complete the path within a defined time period), location based (e.g. create and/or traverse a path to a defined location, which may be real or virtual) and/or competitive (e.g. against other users or autonomous objects within the game). In an example, the objective may require the real / virtual object to traverse all parts of the path and stay ahead of an autonomous virtual object. In another example, the object may require a user to modify the arrangement of physical pieces so that the object which is constrained to the path can reach a particular location in the real world (e.g. to reach the sofa in the living room where the user is playing the game) or the virtual world.

[0042] Although FIG. 6 shows directed game play which involves the player physical interacting with the physical pieces and/or physical object, in various examples, the game may also involve virtual game play. The virtual game play may involve directed game play which relates to virtual game play in addition to the directed play requiring physical game play to meet an objective set.

[0043] FIG. 7 is a schematic diagram of two example physical play pieces which form part of a set of physical play pieces. FIG. 7 shows a core physical play piece 702 and a peripheral physical play piece 704. A set of physical play pieces may comprise one or more core play pieces 702 and a plurality of peripheral play pieces 704. The terms 'core' and 'peripheral' in relation to play pieces are separate from the terms 'passive' and 'active' which are described above. Whilst all core play pieces are also active play pieces, a peripheral piece may be an active or a passive play piece.

[0044] The core play piece 702 comprises a battery 706, a wireless

communications module 708, a processor 710 and one or more connectors 712. The battery 706 provides power to components within the core (such as processor 710 and wireless communications module 708) and also to some / all of the peripheral play pieces 704 via the connectors 712. The wireless communications module 708 enables the core play piece 702 to communicate with a computing device running the game 106. Any suitable wireless technology may be used (e.g. Bluetooth®, BLE, WiFi™ or WiFi™ Direct, Near Field Communication (NFC), 802.15.4, etc.). The wireless communications module 708 may communicate directly with the computing device 108 (as shown in FIG. 1) running the game 106 or may communicate via a network (e.g. a home network or the internet) or intermediary device (e.g. a wireless access point). The connectors 712 physically attach the peripheral play pieces 704 to the core play piece 702 and may also pass data and power between play pieces.

[0045] The processor 710 within the core play piece 702 is arranged to collect the

IDs (which may be a unique ID or an ID shared with other identical-looking play pieces, e.g. an ID for a particular shape or type of play piece) of each of the play pieces connected together (and hence which form the path that will be inferred by the game 106). The processor 710 may be a microprocessor, controller or any other suitable type of processor for processing computer executable instructions to control the operation of the core play piece in order to collect the IDs of connected play pieces. Core and peripheral play pieces may be connected together in any way. The play piece IDs (which may just identify a piece type, rather than uniquely identifying a play piece) may be collected from each of the connected play pieces directly (e.g. via a bus) or each play piece may collect information on its neighbors with the core play piece aggregating the data provided by its direct neighbor play pieces. In various examples, these play piece IDs may be collected via the data connection provided by the connectors 712 and in other examples, another means may be used (e.g. NFC, QR codes or computer vision). Where other means are used, the core play piece 702 may comprise additional hardware / software such as an NFC reader module or a camera or other image sensor to collect the play piece IDs of all the connected play pieces. In addition to collecting the play piece IDs of the connected play pieces (e.g. to generate a set or list of connected play pieces), the core play piece may detect the topology of the arrangement of play pieces. [0046] Each peripheral play piece 704 comprises one or more connectors 712, 714 to physically attach the play piece to another play piece to form the path. The peripheral play piece 704 further comprises electrical connections 724 (e.g. in the form of a bus comprising 2 wires, data and ground) between the two connectors 712, 714.

[0047] Each peripheral play piece 704 also comprises a storage element 716 which stores an identifier (ID) for the peripheral play piece (which may be referred to as the play piece ID) and which may identify the type (e.g. shape) of the piece or may uniquely identify the play piece. The storage element 716 may comprise additional data, such as the shape and/or appearance of the play piece, locations of any connection points, mechanical compatibility details for connection points (e.g. detailing which other piece types can be connected to), other information used to help sense topology (e.g. color pattern), game play information (e.g. is the virtual / physical object on the piece, so that this can be used in subsequent game play) etc. This additional data may be used by the game 106 when inferring the path formed by an arrangement of physical pieces (e.g. in block 206 of FIG. 2) and/or in reflecting (e.g. rendering) at least a portion of the path in a GUI (e.g. in block 212 of FIG. 2). The storage element 716 may comprise memory or any other form of storage device. In the example shown in FIG. 7, the storage element 716 which stores the play piece ID is actually within the housing of the connector 714;

however, in other examples it may be separate from the connector. In various examples, a peripheral play piece 704 may also comprise a processor (not shown in FIG. 7) and this too may be within the housing of the connector 714 or separate from the connector. In various examples, a peripheral play piece 704 may also comprise a battery (not shown in FIG. 7) and this may provide power to electronics within the peripheral play piece 704 and/or to neighboring play pieces (which may be peripheral or core play pieces). In this way, if an arrangement of play pieces requires more power than can be provided by the battery 706 in the core play piece 702, additional power can be provided by a battery in a peripheral play piece 704.

[0048] Although not shown in FIG. 7, a core play piece 702 may also comprise a storage element which stores an identifier for the play piece. As with the peripheral play piece, the storage element may comprise memory or any other form of storage device. The storage element which stores the play piece ID may be within a connector 712, the wireless module 708 or may be a separate entity within the core play piece 702.

[0049] It will be appreciated that the play pieces 702, 704 shown in FIG. 7 may comprise additional elements not shown in FIG. 7. It will further be appreciated that although FIG. 7 shows the modules of being square or rectangular, each of the play pieces can have any physical form factor (e.g. any shape of external housing) which is compatible with the other play pieces (i.e. each play piece is shaped such that it can connect to at least one other play piece, without the outer housing clashing).

[0050] In various examples, a play piece (which may be a peripheral play piece

704 or a core play piece 702) may comprise one or more sensors, actuators and/or displays that are controlled by and/or provide data to the processor 710 within the core play piece 702. Examples of sensors that may be used include: temperature sensors, vibration sensors, accelerometers, tilt sensors, gyroscopic sensors, rotation sensors, magnetometers, proximity sensors (active/passive infrared or ultrasonic), sound sensors, light sensors, etc. Examples of actuators that may be used include: electromagnets, motors, servos, vibration units, solenoids, speakers, etc. Examples of displays that may be used include one or more LEDs, a small LCD display, an e-ink display, etc. Where a play piece comprises a sensor, the sensor data may be communicated by the core play piece 702 to the game 106.

[0051] FIG. 8 is a flow diagram of an example method of operation of a core play piece 702, such as shown in FIG. 7. The core play piece 702 collects the IDs of the connected play pieces (block 804) and communicates play piece data to the game 106 (block 806) via the wireless module 708. In some examples the core play piece 702 may collect a list of IDs (which may or may not include its own ID). The topology

determination (in block 806) may be performed at the same time as collecting the IDs (in block 804) or may be performed separately.

[0052] The topology determination (in block 806) may use any suitable method.

In various examples, each connector 712, 714 in a play piece 702, 704 may comprise hardware logic (such as an electronic switch) to enable the processor 710 within the core play piece 702 to dissect the bus (i.e. the electrical connections connecting all the play pieces) programmatically. This can be described with reference to FIG. 9. FIG. 9 shows three play pieces 901-903, which may all be peripheral play pieces, connected to a 2-wire bus comprising a data line 904 and ground 906. Hardware logic 908 (which includes the storage device holding the play piece ID and may comprise a processor or other logic elements) within each play piece (e.g. within each connector 712, 714 in a play piece) connects between the two lines 904, 906 and a protocol such as the 1-wire™ system may be used by the core play piece to communicate with each of the play pieces 901-903. In order that the core play piece can dissect the bus programmatically, each connector comprises hardware logic 910 which can be controlled by the core play piece and used to dissect the bus (e.g. by breaking the connectivity of the data line 904).

[0053] In the example shown in FIG. 9, the core play piece may first cause the hardware logic 910 in all play pieces to break the connectivity of play pieces (block 92). This may alternatively be described as dissecting the bus and may be achieved in the example of FIG. 9 by opening the switch 910 to break the connectivity in the data line 904. The core play piece may then collect the IDs of all connected play pieces (block 94), which in this case would only identify the ID of the first play piece 901 as the other play pieces are not currently electrically connected to the core play piece and this may be used to update topology information about the coherent physical whole object (block 96). The core play piece may then cause the hardware logic 910 within the identified first play piece 901 to reconnect the bus (block 98 e.g. by closing its switch) and the core play piece may then repeat the ID collection operation (in block 94). This second iteration would identify two IDs - the IDs of the first two play pieces 901, 902, such that the core play piece now knows that the second play piece 902 is connected to the first play piece 901 (and the topology is updated accordingly in block 96). This method may then be repeated to explore the full topology.

[0054] In order that the core play piece knows when it has identified the relative position of all the connected play pieces, the core may first (prior to causing the bus to be dissected) detect the IDs of all the connected play pieces (block 91, e.g. when the bus is fully connected) and then proceed with the iterative discovery process until all detected IDs have been discovered. An example method of operation of the core play piece which uses this is described below.

[0055] In a first detection step (block 91) the core play piece detects all the connected play pieces, which in the example of FIG. 9 comprises three play pieces 901- 903. It may then cause the bus to be dissected by each of the play pieces (block 92). In a second detection step (block 94), the core play piece will now only detect the first play piece 901 so can generate the start of the topology as "core - play piece 901" (block 96). The core play piece may then check whether all play pieces have been included within the topology (block 97) and in this case play pieces 902 and 903 are missing ('No' in block 97). The core play piece may then instruct detected play piece 901 to re-connect the bus. In fact, the core can instruct all connected play pieces to reconnect the bus (block 98). In a third detection step (block 94) the core play piece will now detect two play pieces 901, 902 and so can extend the topology to "core - play piece 901 - play piece 902" (block 96). The core play piece may then check whether all play pieces have been included within the topology and in this case play piece 903 is missing ('No' in block 97). The core play piece may then instruct detected play piece 902 (or all connected play pieces) to reconnect the bus (block 98) before performing a fourth detection step. In this fourth detection step (block 94) the core play piece will detect all three play pieces 901-903 and so can extend the topology further to "core - play piece 901 - play piece 902 - play piece 903" (block 96). The core play piece may then check whether all play pieces have been included within the topology and in this case all play pieces have been included ('Yes' in block 97) and so the detection can stop (block 99).

[0056] Referring back to FIG. 8, the play piece data which is communicated to the interactive software experience (in block 808) comprises the play piece IDs (from block 804, or block 91 or 94 of FIG. 9 and which may also include the play piece ID of the core play piece 702) and may also comprise topology information (from block 806 or block 96 of FIG. 9). In other examples, the play piece data may be an aggregated form of the play piece IDs, rather than the raw IDs themselves. As described above, the data which is communicated to the game 106 enables the game to infer a path (in block 206 of FIG. 2).

[0057] Some or all of the methods shown in FIGs. 8 and 9 may be repeated periodically. For example, a core play piece may regularly perform a collection of all play piece IDs (e.g. as in blocks 804 and 91) in order to determine if a user has re-arranged the play pieces (e.g. by removing / adding / replacing a play piece). In other examples, detection of re-arrangement may be performed in another way (e.g. a peripheral play piece may signal to the core when it has been attached, or the core play piece might explicitly poll for play pieces by their ID or a subset thereof, to either sense disconnection or connection).

[0058] When a user re-arranges the play pieces (e.g. by removing or adding a new play piece), it may not be necessary to perform a full topology analysis (e.g. as shown in FIG. 9) as the core play piece may know that a play piece that has been removed and may first check whether the new play piece has been added in place of the removed play piece. This may, for example, involve performing only selective dissection of the bus. In other examples, the full topology analysis may be performed.

[0059] In addition to collecting the play piece IDs and communicating them to the game (in blocks 804-808), the core play piece may additionally perform one or more additional functions. As shown in FIG. 8, the core play piece may provide power to a peripheral play piece (block 802). This power may be provided via the connector 712 and may use an electrical contact within the connector or alternatively may use inductive (non- contact) charging methods with the connector 712 (and corresponding connector 714 in the peripheral play piece) comprising an inductive coil.

[0060] Where a peripheral play piece 704 or the core play piece 702 comprises one or more sensors, the core play piece 702 collects the sensor data (block 810) and communicates this data to the game 106 (block 812). As described above with reference to the IDs, the data which is communicated to the game 106 (e.g. via wireless module 708) may be the raw sensor data or an aggregated or processed form of the sensor data.

[0061] In various examples, the core play piece 702 may receive commands from the game (block 814), for example where a play piece (core / peripheral) comprises an actuator or display. In response to receiving such a command, it may be processed within the core play piece (e.g. where the core play piece comprises an actuator / display) or may be passed to a connected play piece (block 816), e.g. to a play piece identified by its ID within the received command. In various examples, actuators may be used to constrain a physical object to a path formed by the play pieces and inferred by the game 106.

[0062] In various examples, such as the example shown in FIG. 8, each connector

712, 714 comprises two electrical paths (e.g. ground and data). In other examples, the connectors 712, 714 may provide more than two electrical paths.

[0063] FIG. 10 illustrates various components of an exemplary computing-based device 1000 which may be implemented as any form of a computing and/or electronic device, and in which embodiments of the methods described herein may be implemented. This computing based device 1000 may, for example, be the computing device 108, 114 shown in FIG. 1 or an active play piece 300, 400 such as shown in FIGs. 3 and 4.

[0064] Computing-based device 1000 comprises one or more processors 1002 which may be microprocessors, controllers or any other suitable type of processors for processing computer executable instructions to control the operation of the device in order to perform the methods described herein (e.g. infer a path and present at least a part of the path in a GUI). In some examples, for example where a system on a chip architecture is used, the processors 1000 may include one or more fixed function blocks (also referred to as accelerators) which implement a part of the method of path inference in hardware (rather than software or firmware).

[0065] Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs).

[0066] Platform software comprising an operating system 1004 or any other suitable platform software may be provided at the computing-based device to enable application software, such as a game 106 to be executed on the device. As shown in FIG. 10, the game 106 may comprise one or more modules, such as a path inference engine 1006 arranged to infer a path (e.g. as in block 202), a GUI generation engine 1008 arranged to generate the GUI for the game play, including at least a part of the inferred path (e.g. as in block 212 of FIG. 2) and an objective generation engine 1010 to generate objectives for directed game play (e.g. as in block 602 of FIG. 6).

[0067] The computer executable instructions may be provided using any computer-readable media that is accessible by computing based device 1000. Computer- readable media may include, for example, computer storage media such as memory 1012 and communications media. Computer storage media, such as memory 1012, includes volatile and non- volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device. In contrast, communication media may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transport mechanism. As defined herein, computer storage media does not include communication media. Therefore, a computer storage medium should not be interpreted to be a propagating signal per se. Propagated signals may be present in a computer storage media, but propagated signals per se are not examples of computer storage media. Although the computer storage media (memory 1012) is shown within the computing-based device 1000 it will be appreciated that the storage may be distributed or located remotely and accessed via a network or other communication link (e.g. using communication interface 1014).

[0068] The communication interface 1014 may be arranged to receive data from one or more physical play pieces and may comprise a wireless transmitter and/or wireless receiver. In various examples the communication interface 1014 receives data from the physical play pieces directly and in other examples, the communication interface 1014 may receive data from the play pieces via an intermediary device. In examples where the play pieces comprise a feedback mechanism (e.g. LEDs arranged to show a location of a virtual object constrained to the inferred path) the communication interface 1014 may also be arranged to transmit data (e.g. commands) to one or more physical play pieces.

[0069] The computing-based device 1000 may also comprise an input/output controller 1016. The input/output controller may be arranged to output display information (e.g. the GUI) to a display device 1018 which may be separate from or integral to the computing-based device 1000. The input/output controller 1016 may also be arranged to receive and process input from one or more devices, such sensors 1020 or a sensing module 1022 (which may be internal or external to the computing based device 1000) or a user input device 1024 (e.g. a mouse, keyboard, camera, microphone or other sensor). In some examples the user input device 1024 may detect voice input, user gestures or other user actions and may provide a natural user interface (NUI). This user input may be used to further control game play. In an embodiment the display device 1018 may also act as the user input device 1024 if it is a touch sensitive display device. The input/output controller 1016 may also output data to devices other than the display device, e.g. a locally connected printing device (not shown in FIG. 10).

[0070] Any of the input/output controller 1016, display device 1018 and the user input device 1024 may comprise NUI technology which enables a user to interact with the computing-based device in a natural manner, free from artificial constraints imposed by input devices such as mice, keyboards, remote controls and the like. Examples of NUI technology that may be provided include but are not limited to those relying on voice and/or speech recognition, touch and/or stylus recognition (touch sensitive displays), gesture recognition both on screen and adjacent to the screen, air gestures, head and eye tracking, voice and speech, vision, touch, gestures, and machine intelligence. Other examples of NUI technology that may be used include intention and goal understanding systems, motion gesture detection systems using depth cameras (such as stereoscopic camera systems, infrared camera systems, RGB camera systems and combinations of these), motion gesture detection using accelerometers/gyroscopes, facial recognition, 3D displays, head, eye and gaze tracking, immersive augmented reality and virtual reality systems and technologies for sensing brain activity using electric field sensing electrodes (EEG and related methods). [0071] Although the present examples are described and illustrated herein as being implemented in a play system (comprising a set of physical play pieces and an associated game) as shown in FIGs. 1, 3 and 4, the systems described are provided as examples and not limitations. As those skilled in the art will appreciate, the present examples are suitable for application in a variety of different types of play systems.

[0072] Many of the examples described above involve physical game play by a user with a physical object which is constrained to the inferred path. It will be

appreciated, however, that game play may involve a combination of some physical game play and some virtual game play.

[0073] The term 'computer' or 'computing-based device' is used herein to refer to any device with processing capability such that it can execute instructions. Those skilled in the art will realize that such processing capabilities are incorporated into many different devices and therefore the terms 'computer' and 'computing-based device' each include PCs, servers, mobile telephones (including smart phones), tablet computers, set-top boxes, media players, games consoles, personal digital assistants and many other devices.

[0074] The methods described herein may be performed by software in machine readable form on a tangible storage medium e.g. in the form of a computer program comprising computer program code means adapted to perform all the steps of any of the methods described herein when the program is run on a computer and where the computer program may be embodied on a computer readable medium. Examples of tangible storage media include computer storage devices comprising computer-readable media such as disks, thumb drives, memory etc. and do not include propagated signals. Propagated signals may be present in a tangible storage media, but propagated signals per se are not examples of tangible storage media. The software can be suitable for execution on a parallel processor or a serial processor such that the method steps may be carried out in any suitable order, or simultaneously.

[0075] This acknowledges that software can be a valuable, separately tradable commodity. It is intended to encompass software, which runs on or controls "dumb" or standard hardware, to carry out the desired functions. It is also intended to encompass software which "describes" or defines the configuration of hardware, such as HDL

(hardware description language) software, as is used for designing silicon chips, or for configuring universal programmable chips, to carry out desired functions.

[0076] Those skilled in the art will realize that storage devices utilized to store program instructions can be distributed across a network. For example, a remote computer may store an example of the process described as software. A local or terminal computer may access the remote computer and download a part or all of the software to run the program. Alternatively, the local computer may download pieces of the software as needed, or execute some software instructions at the local terminal and some at the remote computer (or computer network). Those skilled in the art will also realize that by utilizing conventional techniques known to those skilled in the art that all, or a portion of the software instructions may be carried out by a dedicated circuit, such as a DSP,

programmable logic array, or the like.

[0077] Any range or device value given herein may be extended or altered without losing the effect sought, as will be apparent to the skilled person.

[0078] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

[0079] It will be understood that the benefits and advantages described above may relate to one embodiment or may relate to several embodiments. The embodiments are not limited to those that solve any or all of the stated problems or those that have any or all of the stated benefits and advantages. It will further be understood that reference to 'an' item refers to one or more of those items.

[0080] The steps of the methods described herein may be carried out in any suitable order, or simultaneously where appropriate. Additionally, individual blocks may be deleted from any of the methods without departing from the spirit and scope of the subject matter described herein. Aspects of any of the examples described above may be combined with aspects of any of the other examples described to form further examples without losing the effect sought.

[0081] The term 'comprising' is used herein to mean including the method blocks or elements identified, but that such blocks or elements do not comprise an exclusive list and a method or apparatus may contain additional blocks or elements.

[0082] The term 'subset' is used herein to refer to a proper subset such that a subset of a set does not comprise all the elements of the set (i.e. at least one of the elements of the set is missing from the subset).

[0083] It will be understood that the above description is given by way of example only and that various modifications may be made by those skilled in the art. The above specification, examples and data provide a complete description of the structure and use of exemplary embodiments. Although various embodiments have been described above with a certain degree of particularity, or with reference to one or more individual embodiments, those skilled in the art could make numerous alterations to the disclosed embodiments without departing from the spirit or scope of this specification.