Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SELECTING OBJECTS ON A USER INTERFACE
Document Type and Number:
WIPO Patent Application WO/2016/023971
Kind Code:
A1
Abstract:
A computer implemented method of managing objects presented on a user interface of a computer device having at least one processor and at least one memory, said method comprising: displaying an arrangement of selectable objects each having one or more characteristics, information on said arrangement of objects and said objects being stored in said at least one memory, determining a selection of at least a first object in dependence on a user input received via the user interface; evaluating using the stored information on said arrangement, if the selected object shares one or more characteristic with neighbouring objects in the arrangement; determining an input time period of the user input; determining, in dependence on the stored information on said board arrangement if the selected object shares one or more characteristics with neighbouring objects; and if so indicating a valid status to a user by highlighting at least the selected object when the input time period exceeds a first time interval or removing at least the selected object where the input time period does not exceed the first time interval.

Inventors:
PICON DAVID (ES)
CANUDAS ORIOL (ES)
GUERRERO DAVID (ES)
Application Number:
PCT/EP2015/068630
Publication Date:
February 18, 2016
Filing Date:
August 13, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KING COM LTD (MT)
International Classes:
A63F13/45; A63F13/30
Foreign References:
US20130331162A12013-12-12
Other References:
KELLIE CARDWELL-WINTERS: "Gems With Friends Walkthrough Cheats and Strategy Guide | Gamezebo", 10 September 2012 (2012-09-10), XP055120149, Retrieved from the Internet [retrieved on 20140526]
Attorney, Agent or Firm:
STYLE, Kelda Camilla Karen (Bedford HouseJohn Street, London Greater London WC1N 2BF, GB)
Download PDF:
Claims:
CLAIMS

1. A computer implemented method of managing objects presented on a user interface of a computer device having at least one processor and at least one memory, said method comprising: displaying an arrangement of selectable objects each having one or more characteristics, information on said arrangement of objects and said objects being stored in said at least one memory,

determining a selection of at least a first object in dependence on a user input received via the user interface;

evaluating using the stored information on said arrangement, if the selected object shares one or more characteristic with neighbouring objects in the arrangement; determining an input time period of the user input;

determining, in dependence on the stored information on said board arrangement if the selected object shares one or more characteristics with neighbouring objects; and if so indicating a valid status to a user by highlighting at least the selected object when the input time period exceeds a first time interval or removing at least the selected object where the input time period does not exceed the first time interval

2. A method according to claim 1 , comprising, if the input time period exceeds the first time interval highlighting the neighbour objects with the same characteristic and if the input time period is less than the first time interval removing the neighbour objects with the same characteristic.

3. A method according to claim 1 or claim 2, comprising, if the user input period is greater than the first time interval and the selected object shares one or more characteristic with neighbouring objects, and a subsequent user input time period less than the first time interval is determined on a neighbouring object with the same characteristic, removing the selected object and neighbouring objects with the same characteristic.

4. A method according to any preceding claim, comprising if the user input period is greater than the first time interval and the selected object shares one or more characteristic with neighbouring objects, and a subsequent user input time period exceeds the first time interval on a second object other than the selected object or neighbouring object with the same characteristic, highlighting at least the second object if the second object shares one or more characteristics with neighbouring objects,

5. A method according to any preceding claim, wherein highlighting at least the selected object comprises at least one of animating the selected object, modifying display characteristics of the selected object and displaying a line around the selected object.

6. A method according to any preceding claim, wherein removing at least the selected object comprises removing the selected object from the initial arrangement to provide an updated arrangement; and displaying said updated arrangement.

7. A method according to any preceding claim, wherein determining a selection of at least a first object in dependence on a user input received via the user interface comprises determining selection of a plurality of objects, said objects sharing at least one characteristic.

8. A method according to any preceding claim, wherein said user input is a touch user input.

9. An apparatus comprising at least one processor and at least one memory, said at least one processor and said at least one memory configured to perform at least one algorithm to provide a computer implemented game, said algorithm causing: an arrangement of selectable objects to be displayed each having one or more characteristics, information on said arrangement of objects and said objects being stored in said at least one memory,

a selection of at least a first object to be determined in dependence on a user input received via the user interface;

using the stored information on said arrangement, if the selected object shares one or more characteristic with neighbouring objects in the arrangement to be evaluated; an input time period of the user input to be determined, and, in dependence on the stored information on said board arrangement, and, if the selected object shares one or more characteristics with neighbouring objects, a valid status to a user to be indicated by highlighting at least the selected object when the input time period exceeds a first time interval or removing at least the selected object where the input time period does not exceed the first time interval. 10. An apparatus as set forth in claim 9, configured such that if the input time period exceeds the first time interval, said algorithm causing highlighting of the neighbour objects with the same characteristic, and if the input time period is less than the first time interval said algorithm causing removal of the neighbour objects with the same characteristic.

11. An apparatus as set forth in claim 9 or claim 10, configured such that if the user input period is greater than the first time interval and the selected object shares one or more characteristic with neighbouring objects, and a subsequent user input time period less than the first time interval is determined on a neighbouring object with the same characteristic, said algorithm causing removal of the selected object and neighbouring objects with the same characteristic.

12. An apparatus as set forth in any of claims 9 to 11 , configured such that if the user input period is greater than the first time interval and the selected object shares one or more characteristic with neighbouring objects, and a subsequent user input time period exceeds the first time interval on a second object other than the selected object or neighbouring object with the same characteristic, said algorithm causing highlighting of at least the second object if the second object shares one or more characteristics with neighbouring objects.

13. An apparatus as set forth in any of claims 9 to 12, configured such that highlighting at least the selected object comprises at least one of animating the selected object, modifying display characteristics of the selected object and displaying a line around the selected object.

14. An apparatus as set forth in any of claims 9 to 13, configured such that removing at least the selected object comprises removing the selected object from the initial arrangement to provide an updated arrangement; and said algorithm causing said updated arrangement to be displayed.

15. A computer readable storage device storing instructions that, when processed by at least one processor of a device, causes said processor to: display an arrangement of selectable objects each having one or more characteristics, information on said arrangement of objects and said objects being stored in at least one memory,

determine a selection of at least a first object in dependence on a user input received via a user interface;

evaluate using the stored information on said arrangement, if the selected object shares one or more characteristic with neighbouring objects in the arrangement; determine an input time period of the user input;

determine, in dependence on the stored information on said board arrangement if the selected object shares one or more characteristics with neighbouring objects; and if so indicate a valid status to a user by highlighting at least the selected object when the input time period exceeds a first time interval or remove at least the selected object where the input time period does not exceed the first time interval.

Description:
SELECTING OBJECTS ON A USER INTERFACE

FIELD OF THE INVENTION

The disclosure relates to controlling a user interface responsive to user engagement with displayed game objects on the interface of a computer device.

BACKGROUND OF THE INVENTION

There are many technical challenges and technical considerations facing the designer of computer games executed on user or computer devices having a user interface, such as designing a controllable user interface in the context of available computer devices and resources, which may be limited.

Some embodiments may relate to devices having a user interface for engaging users or players in a computer game executable in an online environment.

In a scenario where a web based (canvas) application is adapted to a mobile platform, there are challenges in maintaining a similar "look and feel" at a user interface. In particular, the inventors have found that distinguishing between intended inputs can be problematic when dealing with touch input on devices with limited resources such as processing power, small display screens, and low touch input resolution between displayed objects in the user interface.

For instance a known computer application executed at a computer device involves the matching of objects displayed on a game area or game board and the elimination of such to complete a level or aim or target score of such a game. The game may be a so-called "casual" or "social" game, wherein short periods of play are undertaken by the user whenever appropriate according to the user's schedule.

Such games are increasingly offered and played by users on a wide range of devices such as portable devices such as smart phones or tablets or larger devices such as desk top computers or lap top computers. The challenge is to maintain selectability and removal of matched objects in a touch context, such that the familiar game mechanic implemented on canvas can be maintained.

SUMMARY OF THE INVENTION

I n a first aspect there is provided a computer implemented method of managing objects presented on a user interface of a computer device having at least one processor and at least one memory, said method comprising displaying an arrangement of selectable objects each having one or more characteristics, information on said arrangement of objects and said objects being stored in said at least one memory, determining a selection of at least a first object in dependence on a user input received via the user interface, evaluating using the stored information on said arrangement, if the selected object shares one or more characteristics with neighbouring objects in the arrangement, determining an input time period of the user input; determining, in dependence on the stored information on said board arrangement if the selected object shares one or more characteristics with neighbouring objects; and if so indicating a valid status to a user by highlighting at least the selected object when the input time period exceeds a first time interval or removing at least the selected object where the input time period does not exceed the first time interval.

The method may comprise, if the input time period exceeds the first time interval highlighting the neighbour objects with the same characteristic and if the input time period is less than the first time interval removing the neighbour objects with the same characteristic.

The method may comprise, if the user input period is greater than the first time interval and the selected object shares one or more characteristic with neighbouring objects, and a subsequent user input time period less than the first time interval is determined on a neighbouring object with the same characteristic, removing the selected object and neighbouring objects with the same characteristic.

The method may comprise, if the user input period is greater than the first time interval and the selected object shares one or more characteristic with neighbouring objects, and a subsequent user input time period exceeds the first time interval on a second object other than the selected object or neighbouring object with the same characteristic, highlighting at least the second object if the second object shares one or more characteristics with neighbouring objects.

Highlighting at least the selected object may comprise at least one of animating the selected object, modifying display characteristics of the selected object and displaying a line around the selected object.

Removing objects may comprise removing at least the selected object from the initial arrangement to provide an updated arrangement and displaying said updated arrangement. Determining a selection of at least first object in dependence on a user input received via the user interface comprises determining selection of a plurality of objects, said objects sharing at least one characteristic.

Said user input may be a touch user input.

In a second aspect there is provided an apparatus comprising at least one processor and at least one memory, said at least one processor and said at least one memory configured to perform at least one algorithm to provide a computer implemented game, said algorithm causing an arrangement of selectable objects to be displayed each having one or more characteristics, information on said arrangement of objects and said objects being stored in said at least one memory, a selection of at least first object to be determined in dependence on a user input received via the user interface, using the stored information on said arrangement, if the selected shares one or more characteristic with neighbouring objects in the arrangement to be evaluated, an input time period of the user input to be determined, and, in dependence on the stored information on said board arrangement, and, if the selected object shares one or more characteristics with neighbouring objects, a valid status to a user to be indicated by highlighting at least the selected object when the input time period exceeds a first time interval or removing at least the selected object where the input time period does not exceed the first time interval.

The apparatus may be configured such that, if the input time period exceeds the first time interval, said algorithm causing highlighting the neighbour objects with the same characteristic and if the input time period is less than the first time interval removing the neighbour objects with the same characteristic.

The apparatus may be configured such that, if the user input period is greater than the first time interval and the selected object shares one or more characteristic with neighbouring objects, and a subsequent user input time period less than the first time interval is determined on a neighbouring object with the same characteristic, said algorithm causing removing the selected object and neighbouring objects with the same characteristic.

The apparatus may be configured such that, if the user input period is greater than the first time interval and the selected object shares one or more characteristic with neighbouring objects, and a subsequent user input time period exceeds the first time interval on a second object other than the selected object or neighbouring object with the same characteristic, said algorithm causing highlighting at least the second object if the second object shares one or more characteristics with neighbouring objects .

Highlighting at least the selected object may comprise at least one of animating the selected object, modifying display characteristics of the selected object and displaying a line around the selected object.

Removing objects may comprise removing at least the selected object from the initial arrangement to provide an updated arrangement and displaying said updated arrangement.

Determining a selection of at least first object in dependence on a user input received via the user interface comprises determining selection of a plurality of objects, said objects sharing at least one characteristic.

Said user input may be a touch user input.

In a third aspect there is provided a computer readable storage device storing instructions that, when processed by at least one processor of a device, causes said processor to: display an arrangement of selectable objects each having one or more characteristics, information on said arrangement of objects and said objects being stored in at least one memory, determine a selection of at least a first object in dependence on a user input received via a user interface; evaluate using the stored information on said arrangement, if the selected object shares one or more characteristic with neighbouring objects in the arrangement; determine an input time period of the user input; determine, in dependence on the stored information on said board arrangement if the selected object shares one or more characteristics with neighbouring objects; and if so indicate a valid status to a user by highlighting at least the selected object when the input time period exceeds a first time interval or remove at least the selected object where the input time period does not exceed the first time interval.

BRIEF DESCRIPTION OF THE FIGURES

Figure 1 shows an example game board arrangement;

Figure 2 shows a schematic view of a user or computing device;

Figure 3 shows a schematic view of an example system;

Figure 4 shows an alternative example game board arrangement;

Figure 5 shows a flowchart of an example method of discriminating between user inputs; Figure 6 shows the game board arrangement of figure 4 including highlighted game objects;

Figure 7shows an example game board arrangement;

Figure 8 shows an example game board arrangement;

Figure 9 shows example game element patterns;

Figure 10a shows example 3-game element patterns;

Figure 10b shows example 4-game element patterns;

Figure 10c shows example 5-game element patterns.

DETAILED DESCRIPTION OF THE INVENTION

This disclosure addresses the challenge of providing a "highlight" and "select" function in a touch screen context, provided by a "hover and click" mouse function in a canvas application.

Figure 1 shows an example arrangement 100 for display on a user device according to an embodiment. An algorithm is configured to control the device such that an arrangement such as shown in Figure 1 is displayed. The arrangement comprises a displayed game area 100 having first objects (also referred to as tiles or game elements) 140a, 140b, 140c, 140d. Each tile has one or more attributes. Each attribute may have one or more possible values. For example there may be three or more possible values for each attribute. These objects are game elements or tiles. The attributes may comprise color, shape, and/or different types of objects with associated value. The first objects may have other characteristics defining graphical representations and shapes, and may represent different types of similar objects when displayed on the game area 100.

As can be seen in a second display area 180 of the game board arrangement, the game board may comprise second game objects 150 known as game blocks displayed in a grid. The game objects 140a, 140b, 140c and 140d may be displayed at the same position as game blocks 150 and may be displayed in front or behind of the game blocks 150. The game blocks 150 may be removed from the game board arrangement by removing a game object displayed at the same position and/or removing a series of game objects displayed at the same position, removing a game object, or a series of game objects displayed adjacent to the game block or by any other mechanism such as a booster. For example, if game object 140d is removed from the game board arrangement, game block 150 may also be removed. As the game blocks 150 are removed a path is created by the absence of game blocks. The object of the game may be to create a path between exit and entry points (such as the entry point 160a) by removing game blocks 150.

Those skilled in the art will appreciate that arrangement of other grid sizes or patterns to that shown in Figure 1 may be suitable.

The first objects 140a, 140b, 140c, 140d displayed on the arrangement 100 may have four (or any other suitable number of) contact points with other neighbouring or adjacent first objects.

First objects 140a, 140b, 140c, 140d may be removed from the game board

100 by user inputs selecting a game object, for example 140d, which meets a validation criteria, for example if a user input selects a game object 140d which has one or more game objects having an attribute with the same value horizontally and/or vertically adjacent, as indicated by the dashed line 170. Other validation criteria may be possible (e.g. game objects having an attribute with the same value positioned diagonally of a contact point). Removal of a first game object 140d may cause the removal of a plurality of game objects. For example, removal of the first game object 40d may cause the removal of the game objects within the dashed line 70 which meet the validation criteria. Removal of at least one first game object from a game board position may cause a rearrangement of the game board such that a new first game object is displayed in the position of the removed game object.

Other game board layouts or configurations may be provided. For example, pyramidal, hexagonal, octagonal or other layouts comprising position spaces or tiles within the game board 100 may be provided for display.

A schematic view of a user or computing device 200 according to an embodiment is shown in Figure 2. All of the blocks shown are implemented by suitable circuitry. The blocks may be implemented in hardware and/or software. The user device may have a control part 210. The control part 210 has one or more processors 215 and one or more memories 220. The control part 210 is also shown as having a graphics controller 225 and a sound controller 230. It should be appreciated that one or other or both of the graphics controller 225 and sound controller 230 may be provided by the one or more processors 215.

The graphics controller 225 is configured to provide a video output 235. The sound controller 230 is configured to provide an audio output 240. The controller 210 has an interface 245 allowing the device to be ab!e to communicate with a network

250 such as the internet or other communication infrastructure.

The video output 235 is provided to a display 255. The audio output 240 is provided to an audio device 260 such as a speaker and/or earphone(s).

The device 200 has an input device 265. The input device 265 can take any suitable format and can be one or more of a keyboard, mouse, touch screen, joystick or game controller. It should be appreciated that the display 255 may in some embodiments also provide the input device 265 by way of an integrated touch screen for example.

The blocks of the controller 210 are configured to communicate with each other via an interconnect such as a bus or any other suitable interconnect and/or by point to point communication.

It should be appreciated that in some embodiments, the controller 210 may be implemented by one or more integrated circuits, at least in part.

The user device 200 is shown by way of example only. In alternative embodiments, one or more of the parts may be omitted. Alternatively or additionally, some embodiments may comprise one or more other parts. Alternatively or additionally, one or more parts may be combined.

Figure 3 schematically shows a system 300 in some embodiments. The system 300 comprises a server 320 which may store databases of game players' details, profiles, high scores and so on. In practice, one or more databases may be provided. Where more than one server is provided, the database(s) may be provided in one database or across two or more servers 320. The server 320 may also have a games data function. This may comprise a memory to store the computer game program and a processor to run the games program.

The server may communicate via for instance the internet 310 to one or more user devices 305 and may further provide connections to a social network 330 such as facebook™.

It should be appreciated that embodiments may be deployed in different system architectures. For example, the computer game may be implemented as a computer game that is stored in the memory 220 of the user device 200 and is run on the processor 215 of the user device 200. However, the server 320 may handle some elements of the game in some embodiments. By way of example only, a Java game applet may be provided to the user device 200 and the locally running Java applet will generate, for example, the graphics, sounds, and user interaction for the game play on the user device 200. Some data may be fed back to the server 320 to allow interaction with other user devices 305. The data which is fed back may also allow scoring and/or cross platform synchronization.

In some embodiments, the game may be implemented as a computer program that is stored in a memory of the system, for example the server 320, and which runs on a processor of the game server. Data streams or updates are supplied to the user device 200 to allow the user device 200 to render and display graphics and sounds in a browser of the user device 200. Such an approach is sometimes referred to as a web services approach. It should be appreciated, however, that such an approach does not necessarily require the use of the Internet.

Embodiments will now be described with reference to figures 4 to 6.

Figure 4 shows an example game board 400 comprising game objects as seen in Figure 1. Input via the user input is detected at a position corresponding to object 420a to select the object 420a. An algorithm may be provided to detect all of the game objects which meet the validation criteria, for example, all the game objects which are horizontally or vertically adjacent to selected game object 420a having the same value for an attribute as the game object 420a. For example, the algorithm may detect the group of game objects 430 which are delineated by the dashed line 440 and which comprises game objects vertically and horizontally adjacent to game object 420a which are "green", i.e. pear shaped as represented in Figure 4.

In a canvas application, the selection of the object 420a may be by the user moving a cursor using a pointer device such as a mouse, a touch pad or the like. However, on a touch screen (such as a smartphone), the selection of the object may be detected by detecting a user's finger or the like at a location of a touchscreen at the position of the displayed object. A "hover" action of the mouse allows a user to highlight the related object (and associated matching objects). It is possible in this way to easily uniquely identify the object which the user wishes to select. Distinguishing between an intention to highlight a potential move and selecting that move such that game objects are removed from the board may be problematic when a user's finger is used as an input for a touch screen.

Embodiments of techniques enabling such discrimination will now be described with reference to Figure 5. Figure 5 illustrates steps of an embodiment of a method. An arrangement of selectable objects are displayed, each having one or more characteristics, information on said arrangement of objects and said objects being stored in said at least one memory.

Step 1 of the method comprises receiving touch input. The method may comprise determining a selection of at least a first object in dependence on a user input received via the user interface. For example, detection of input selection at step 1 at a position equating to a first game object, such as the green "diamond"420a in figure 4, is detected by a user interface 265 of a device 200. Selection of more than one object may be detected in dependence on user input received via the user interface, if the objects share at least one characteristic.

In step 2, the method may comprise determining whether selection of the game object results in a valid move, i.e. evaluating, using the stored information on said arrangement, if the selected object shares one or more matching characteristics with neighbouring objects in the arrangement. If yes the method may move to step 3. That is, the algorithm may examine game objects positioned on the game board which are horizontally or vertically adjacent to the selected game object 420a to determine whether they have attributes having matching values to the selected game object.

The method may comprise determining an input time period of the user input. The input may be monitored by processor 215 to detect the end of the user input at to determine the user input time period. In step 3 of the method shown in figure 5, the user input time period may be compared to a pre-defined time interval to determine if the input exceeds at least a first time interval. The results of the comparison may be stored in memory 220. If the input time is greater than the first time period, the method moves to step 4; highlighting objects. If no, the objects and neighbouring objects are removed.

That is, if the selected object shares one or more characteristics with neighbouring objects, the method comprises indicating a valid status to a user by highlighting at least the selected object when the input time period exceeds a first time interval or removing at least the selected object where the input time period does not exceed the first time interval. The algorithm may cause highlighting of at least the first game object if the algorithm determines said input is such that it exceeds a first time interval and/or cause removal of at least said first game object, if the algorithm determines that said user input is such that it does not exceed the first time interval. The algorithm may cause the group 430 of game objects which have a matching attribute or characteristic as described above to be highlighted and/or removed. Although step 3 is shown to take place before determining an input time period of the user input, these steps may take place in any order.

This means that it is possible to clearly distinguish between an intention to highlight a potential move and selecting that move such that game objects are removed from the board when a user's finger is used as an input for a touch screen.

If, after highlighting at least one game object, a further user input, as shown as new user input received in the flowchart of figure 5, at a position equating to a game object that is not highlighted is detected, the algorithm may act on the further user input as described above.

If the user input period is greater than the first time interval and the selected object shares one or more characteristic with neighbouring objects, and a subsequent user input time period less than the first time interval is determined on a neighbouring object with the same characteristic, removing the selected object and neighbouring objects with the same characteristic. This means that user can touch any object within a group of highlighted objects to remove the group if highlighted objects.

If the user input period is greater than the first time interval and the selected object shares one or more characteristic with neighbouring objects, and a subsequent user input time period exceeds the first time interval on a second object other than the selected object or neighbouring object with the same characteristic, the method may comprise highlighting at least the second object if the second object shares one or more characteristics with neighbouring objects. That is the user can highlight a second group of objects after highlighting a first group of game objects. The highlighting of the first group of game objects may cease.

Causing game objects to be highlighted may involve causing the processor to update the display of the highlighted game objects such that they are animated. For example, as shown in figure 6, the display of the group of game objects 430 may be updated so that the game objects of the group 430 appear to rotate about an axis.

Alternatively or in addition, highlighting game objects may cause the processor to update the display characteristics of the highlighted game object(s). For example, the processor may cause the colour, transparency, contrast or brightness of the highlighted game objects to be modified. In a further example, highlighting game objects may cause the processor to surround the highlighted game objects with a boundary, for example a dashed line 640 as shown in Figure 6.

If the user input is such that the game object 420a or group of game objects 430 is to be removed, the processor may execute a rearrangement and update object algorithm. That is the game object 420a or group of game objects 430 to be removed are removed from the game board arrangement to provide an updated game board arrangement. Further game objects may move into the place of the removed game objects.

Some embodiments have been described by way of example with respect to example games. It should be appreciated, that other embodiments may be provided in the context of any other suitable games or applications.

The techniques described above can be deployed in many different gameplay architectures. For example, a computer game can be implemented as a computer program that is stored and runs entirely locally on the processor of a PC, games console, tablet or mobile telephone or other computing device. The game can be implemented solely as a computer program that is stored and runs entirely on one of many processors in a remote server, and data streams or updates are supplied to the client device (e.g. tablet, smartphone, etc.) to enable the client to render and display graphics and sounds; this 'web services' approach is increasingly common.

Another approach is a hybrid one, in which back-end servers handle some elements of the gameplay, and for instance a Java game applet is provided to client devices and it is the locally running Java applet that generates the graphics/sounds/user interaction for gameplay on the player's client device. Some data may be fed back to the back-end servers to enable scoring, interaction with other players and cross-platform synchronisation. Generally, the techniques described in this specification are not specific to any one game architecture but can be deployed on any suitable game architecture.

The game can be implemented allowing a user to interact with it in different ways depending on the capabilities of the device which the user is accessing the game with. A user can interact with the game through using a touch screen where the user can select and/or move elements on the game board with a finger or for instance with a stylus. The game can also be played with a pointing device such as a mouse or other interaction devices such as a keyboard. Over the course of players playing the game, data will be produced. This data can for instance be related to a player's game performance or to game information related to a social network to which the game is connected. It is possible to gather this data, store it and make use of it for instance to improve the game. One example is by using a database to store the amount of times players try and fail a level on average. This data can then be reviewed, and if the players seem to fail a substantial amount of times before completing a level, the difficulty can be adjusted accordingly. The difficulty can be adjusted through changing a score target for the level, increasing the available time or moves or giving the player for instance a booster to enhance the gameplay.

There can be certain performance indicators used to measure the success of the game. These indicators can for instance relate to player retention, the virality of the game and the revenue of the game.

A person skilled in the art will realise that the different approaches to implementing the game is not exhaustive, what is described herein are certain preferred embodiments. It is possible to implement the way in a number of variations without departing from the spirit or scope of the invention.

The game described herein can be a clicker or a switcher game. The player may in some implementations click on clusters of three or more game elements of a certain type which will remove the cluster of game elements and introduce new ones to take their place. The game board can for instance be a grid of maximum 9x9 tiles and there may be several different types of game elements on the game board.

Some additional elements can also be present on the game board. Such additional game elements can be fixed in a certain position on the game board or can be moveable. In some implementations the shape of the game board may vary as to make the game more challenging as well as offering the player variation in the game. The ideas described in this document are to some extent implemented in the game 'Diamond Digger Saga' by King.

Game Overview A technical challenge can involve enabling a game to be fun, accessible and compelling even when there is limited display resource available, such as when a game is being played on a smartphone, tablet or other small or portable device. Another challenge lies in providing reliable control and selection input across many architectures of such devices with limited or differing display, processing and touch input resources.

This is pertinent when considering user engagement. Engagement involves designing gameplay to be engaging and rewarding to players. This typically requires games to be easily understood at their simplest or introductory levels, control inputs should provide rewarding gameplay with simple to complex game mechanics, which may become progressively more challenging so that players are not frustrated or bored, but remain engaged to develop rewarding skills.

Effective engagement may also require various forms of feedback to reinforce the user or player sense of success and accomplishment.

There are therefore many technical challenges when designing computer implemented games, particularly in providing a challenge to a user or player that is engaging and rewarding so as to provoke repeat play. This may, but not exclusively apply to "casual games" played on portable or mobile platforms with differing and in some cases limited computing, display and input resources.

The game described herein can be played over several levels in a progression type setting where the player advances to more difficult or different levels. Each of the levels in this game is divided up in a plurality of 'rooms' where the player within the level advances from room to room. The rooms are connected with entry and exit points and the player can adjust his gameplay to advance the game through a certain exit point in to a different room.

The game consists of three main elements that may be combined and/or altered to fit the specific level.

Clicking on existing groups of elements on the game board.

Each tile in the game board has a layer that is destroyed once a game element on top is removed. The removed layer creates a "path" on the game board.

"Water" flows from the entry point on the board and the goal for a room is to create a path for the water to flow to any of the exit points in the room. Which exit point the water reaches determines which the next room on the level the player will advance to.

In some implementations, the game elements covering the game board are implemented as jewels. Any group of 3 game elements or more of the same colour that are horizontally or vertically adjacent can be cleared away and replaced by new game elements that fall into place from the top of the game board. Behind the game elements are game blocks implemented as dirt. When game elements are cleared away, the dirt layer behind them is also cleared which creates cleared paths on the game board. Clicking on clusters of three or more game elements of a certain type will dig paths on the game board. Figures 7 and 8 show an example game board arrangement with entrance and exit points for water.

On the edges of the game board there may be an arbitrary number of exit points together with one entry point. The entry point may for example have water that will flow on the game board and fill the cleared out "path". At each level a marker of for example blue highlights the water's entry point on the game board. The challenge is to remove game elements in a smart way to create a path and connect the entry point with one of the exit points. Connecting an entry and exit point will take the player to a new game board that may be even deeper underground. If reaching a new game board, the entrance point may be located in the same position as the exit point that was used on previous game board. When the water reaches one of the other exit points available on the game board then the level may be completed but as mentioned may also continue onto a new game board which may be part of the level or an extra bonus part of a level. If the water reaches more than one exit point at the same time, then the bottom exit point will always be chosen if applicable. An exit point may in some implementations not be located on the top edge of the game board.

The game can be implemented so that the first exit point that is reached with the path is the one that is used. Should two exit points be reached at the same move then one of the exit points can take priority, for instance the bottom one over ones on the left and right side. It can also be implemented so that it is random which exit point that takes priority.

The deeper the player reaches, the more treasures and gold will be located on the way. The real challenge is doing this with as few moves as possible. Extra moves are being rewarded for completing a game board which will then let the player continue until running out of moves or time. Clearing a level will also raise a standard score multiplier, giving the player more points on the next game board reached within the same level. There is a limited amount of moves/diggings possible; this is shown to the side of the game board as a number of remaining moves (See Figure 5). Clearing large groups of jewels gives bigger scores and sometimes bonus moves. A good strategy is therefore to go for large groups to both conserve moves and get a high score. As digging through a level, treasures may be uncovered in the shape of gold and chests that give a score bonus as well as a score multiplier that doubles the score for the rest of the level. Extra moves can also be found in the ground. The deeper the digging, the more treasure will be found. A good strategy is to always aim, if sensible, for bottom exit points when digging rather than sideways exit points. Some levels also have blockers in the shape of rocks instead of regular dirt blocks. These require the player to clear game elements twice on top of them to excavate a path for the water. Other types of blockers may also be encountered.

Combos & Points

Depending on how and how many game elements are removed, different amount of points are given. To create matches with game elements, the game elements need to be placed in a group where one side of a game element is adjacent to the other game element. It does not need to be a straight line as long as the game elements are adjacent to each other. For example, a diagonal pattern would not be matchable while an L-shaped group would be as can be seen in Figure 9.

Colour Combos

Colour combinations are the most basic way of progressing in Diamond Digger Saga. Used to earn points, uncover treasures and other bonus items such as extra moves. It is also used to create paths on the game board in order to connect entry and exit points. Colour combos make up the bulk of the gameplay in the game.

3- combos

Combinations made from three game elements of the same colour are the most basic combos in the game. Examples can be seen in Figure 10a. In some implementations this combo gives 10 points.

4- combos In some implementations, combinations made with four game elements award 20 points. Examples can be seen in Figure 10b.

5-combos

in some implementations, combinations made with five game elements award 30 points. Examples can be seen in Figure 10c.

Blockers

In a typical implementation of the game there are several different kinds of so called blockers. Blockers are different types of blocks and game elements with the purpose of being in the way and make the game more difficult for the player. In this way, the game becomes more challenging for the player and at the same time may bring encouragement when a player has completed a level as the player may feel a sense of achievement for completing something more difficult.

Boosters

The game may be implemented to offer the player the opportunity to buy or to generate or in some other way acquire boosters to enhance the gameplay. The boosters can in some implementations match the obstacles introduced on the game board.

Ways of playing the game

Web-based

One way of implementing a game using the techniques described herein is through a web site with a plurality of casual games. This platform can be used as a basis to test the performance of the game and how it is perceived by players. In some web-based implementations the game is implemented to be played in head-to-head tournaments, have a limited number of levels and no external social network connection. In some implementations players can play the game against other players on the platform. If a game proves to be successful in a web-based implementation, it can be further adapted to another type of implementation, based on a virtual terrain in which the player progresses. This implementation typically has a connection to an external social network, and can have multiple game modes such as asynchronous and synchronous tournaments and single player mode. The nodes on the map in the game are typically different levels that the player can play. The two implementations described above can be part of a modularised approach to developing games, which help streamline and facilitate the process of producing as well as further developing new titles.

Cross-device and cross-game functionalities

Some implementations of the game allows for the game state and for instance results of past levels and score to be synchronised between different devices or platforms. The synchronisation can happen while playing the game, if the player is connected, or it can be synced at certain times when the player chooses to connect to the game server. It is also possible for the player to play the game entirely in offline mode, but in that case there won't be real-time data available that relates to for instance the performance of other players. In a typical implementation, synchronisation of game progression between platforms can only happen when the player is connected to the game server.

The game can for instance be played in an offline mode on a handheld device using locally stored information on the handheld device. The device can store all or some of the levels that are available for the player to play in the game. Some of the features in the game can be locally run on the device and dependent on the local machine. Other features, such as data related to other players, will not be available in real time when playing offline, but rather gathered a certain points in time. One example of a locally run feature can for instance be that if the game is implemented to regenerate lives after a certain period of time, then the time can be locally decided based on the clock on the device. In some implementations, the central game server clock can override the local clock when the local device is or has been synchronised with the server.

A game can be implemented so that the player knows if it has synchronised the available data with the central server or servers. This can for instance be through a coloured symbol or a check mark that indicates that the information is up to date. The servers with which the game can synchronise include but are not limited to; a server running the game, servers hosting a social network to which the game is connected and a server hosting other games the player is active on.

The game can also indicate if it has been able to establish a connection with the central server for synchronisation or if for instance the network connection is down. That the device is offline can for instance be illustrated with a greyed out icon. It is also possible that games may have elements in common that enable certain objects, for instance boosters, to be usable in multiple games. These games can be located on the same or on different servers. In some implementations, a booster bought in one game can be used in another game that shares certain features with it.

One example of an implementation with synchronisation across platforms is as follows:

A first server, for instance one hosting a social network, with a first data store storing data relating to the state of a game. The first server is configured to communicate with a first plurality of devices, such as mobile phones or persona! computers, through a first application programming interface, where the first plurality of devices is related to a first computing platform.

A second server, for instance one hosting a game platform, with a second data store storing data relating to the state of the game. The second server is configured to communicate with a second plurality of devices, such as mobile phones or personal computers, through a second application programming interface, where the second plurality of devices is related to a second computing platform.

A third server with a third data store, configured to communicate with the first and the second server. The three servers are configured to synchronise the three data stores in such a way that when synchronized, the first, second and third data store all relate to a synchronised game state.

Various methods and devices have been described. It should be appreciated that these methods may be implemented in apparatus or devices comprising any suitable circuitry. Some embodiments may be implemented by at least one memory and at least one processor. The memory is provided by memory circuitry and the processor is provided by processor circuitry. Some embodiments may be provided by a computer program running on the at least one processor. The computer program may comprise computer implemented instructions which are stored in the at least one memory and which may be run on the at least one processor.

It is also noted herein that while the above describes embodiments of the invention, there are several variations and modifications which may be made to the disclosed solution without departing from the scope of the present invention.