1. Field of the Disclosure
In general, the disclosure relates to the field of wireless controllers. More particularly, but not exclusively, the disclosure relates to the field of wireless controllers used in video gaming.
2. Discussion of Related Field
Over the past decade, the video gaming industry has witnessed substantial growth. A considerable number of video games are played on handheld devices. Such handheld devices can be devices that are specifically designed to play video games. Alternatively, the handheld devices can be mobile devices, such as, feature phone, smart phones and tablets, among others. Such handheld devices include a display and several controls. The games are installed on the handheld device and can be displayed on the handheld device. A user of the handheld device operates the controls provided in the handheld device to play games. While such a methodology of gaming is fairly popular, the size of display in such handheld devices is relatively small. Smaller display has a negative impact on the user experience, while playing video games.
The need for enabling users to play video games on larger display has been well appreciated by the video gaming industry. Video gaming consoles have been introduced for enabling users to play video games on larger display, such as a television. Typically, a console includes a processing unit, which can be connected to a television, and a wireless controller. The video games are typically stored on a data storage device, such as a Compact Disc (CD). A user typically installs the CD in the processing unit to play a video game. Further, the user uses the wireless controller to control various aspects of the game and play the game. The video game is displayed on the larger display, such as a TV, which is connected to the processing unit of the console.
In the aforementioned technology, the need for enabling users to play video games on larger display is addressed. However, the user will have to carry along the data storage devices (Example: CD), which has the video games, if the user wish to play the video games at different locations.
In relation to wireless controllers used in the aforementioned consoles, it is well known that they enable playing fairly advanced video games. The processing unit of the console is configured to trace the movement of the wireless controller, thereby enabling the user to play the game by moving the wireless controller. Typically, the wireless controller emits light, which is received by the processing unit, thereby enabling tracing of the wireless controller's movement. Hence, a user will have to purchase such wireless controller to be able to play video games on larger display.
In light of the foregoing discussion, there is a need for an alternative technique for enabling users to play mobile video games on larger display screens.
Accordingly the invention provides a method for using handheld device as a wireless controller. The method comprises receiving at least of roll data, pitch data, yaw data and acceleration data corresponding to the handheld device; determining one or more actions to be performed based on one or more values of the at least of roll data, pitch data, yaw data and acceleration data; and enabling performance of actions that are displayed on at least one display that is discrete from the handheld device.
There is also provided a system for using handheld device as a wireless controller. The system comprises a control module, wherein the control module is configured to: receive at least of roll data, pitch data, yaw data and acceleration data corresponding to the handheld device; determine one or more actions to be performed based on one or more values of the at least of roll data, pitch data, yaw data and acceleration data; and enable performance of actions that are displayed on at least one display that is discrete from the handheld device.
There is also provided a computer program product comprising a computer readable medium having instructions encoded thereon, when executed by a handheld device, causes the handheld device to perform the operations comprising: receiving at least of roll data, pitch data, yaw data and acceleration data corresponding to the handheld device determining one or more actions to be performed based on one or more values of the at least of roll data, pitch data, yaw data and acceleration data; and enabling performance of actions that are displayed on at least one display that is discrete from the handheld device.
Embodiments are illustrated by way of example in the Figures of the accompanying drawings, in which like references indicate similar elements and in which:
a is a block diagram of an exemplary sensors module 110 that is configured to communicate with a control module 102, in accordance with an embodiment;
b is a block diagram of another exemplary sensors module 110 that is configured to communicate with the control module 102, in accordance with an embodiment;
a depicts the possible yaw values in Radian, in accordance with an embodiment;
b is an exemplary illustration of a first orientation 602 of the handheld device 100, when reception of yaw data is initiated, in accordance with an embodiment;
c is an exemplary illustration of the handheld device 100 held in the instructed orientation, in accordance with an embodiment;
The following detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show illustrations in accordance with example embodiments. These example embodiments are described in enough detail to enable those skilled in the art to practice the present subject matter. However, it will be apparent to one with ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments. Within the scope of the detailed description and the teachings provided herein, additional embodiments, application, features, and modifications are certainly are recognized by a person skilled in the art. Therefore, the following detailed description is not to be taken in a limiting sense.
In this document, the terms “a” or “an” are used, as is common in patent documents, to include one or more than one. In this document, the term “or” is used to refer to a nonexclusive “or,” such that “A or B” includes “A but not B,” “B but not A,” and “A and B,” unless otherwise indicated.
The control module 102 can include an Application-Specific Integrated Circuit (ASIC). In another embodiment, the control module 102 can include a microprocessor. The control module 102 can access instructions that may be stored in the storage module 104. Further, the control module 102 can receive inputs from other modules/units of the handheld device 100. The control module 102 processes the inputs as per the instructions and controls operation of one or more modules/units of the handheld device 100.
The storage module 104, for example, can include, read-only memory (ROM), random-access memory (RAM), subscriber identity module (SIM), optical data storage devices and hard disks. The storage module 104 stores instructions that can be retrieved by the control module 102 for controlling the operation of the handheld device 100. The storage module 104 stores data generated during the operation of the handheld device 100. Further, data that may be required for subsequent retrieval is also stored in the storage module 104.
The input module 106 is configured to receive inputs from input means, such as, keypad, microphone and touch sensitive display, among others.
The communication module 108 is configured to transmit and receive data using communication channels. The communication module 108 for example, can be configured to communicate date with a television, using radio frequency.
The sensors module 110 includes sensors, such as, gyroscope and accelerometer. The sensors module 110 can also include magnetometer. These sensors sense the movement of the handheld device 100, and communicate respective data to the control module 102.
The display module 112 displays still images, moving images and characters. The display module 112 can be, for example, a LCD display or LED display, among others.
The handheld device 100 is configured to be used as a wireless controller for playing games, which will be displayed on a large display, such as a television. The handheld device 100 uses data received by the sensors module 110 to control video games. The video games that are controlled can be mobile games, such as, for example, tennis, table-tennis, badminton, baseball, cricket, fishing, fitness and rhythm games, dance simulation game, aerobics fitness, shooting games, point and shoot games, first person shooters, third person shooters, archery, sword fighting, Frisbee and disc throwing games, among others.
a is a block diagram of an exemplary sensors module 110 that is configured to communicate with the control module 102, in accordance with an embodiment. The sensors module 110 includes a gyroscope 202, a magnetometer 204 and an accelerometer 206. The gyroscope 202 and the magnetometer 204 generate roll data 208, pitch data 210 and yaw data 212. The roll data 208, pitch data 210 and yaw data 212 can be collectively referred to as attitude data. The accelerometer 206 generates acceleration data 214. The attitude data and acceleration data 214 is communicated to the control module 102, which processes the data to control the video game.
b is a block diagram of another exemplary sensors module 110 that is configured to communicate with the control module 102, in accordance with an embodiment. The sensors module 110 includes a gyroscope 202 and an accelerometer 206. The gyroscope 202 generates the attitude data, while the accelerometer 206 generates acceleration data 214. The attitude data and acceleration data 214 is communicated to the control module 102, which processes the data to control the video game.
In an embodiment, the control module 102 is configured to process data received from the sensors module 110. The control module 102 includes an action library. The action library includes actions to be performed, for example in the video game that may be displayed on a television. The control module 102 processes data received from the sensors module 110 to control actions, which are displayed at least on a display, such as a television, which is discrete from the handheld device 100. The control module 102 after receiving the data from the sensors module 110 determines the one or more actions to be performed by querying the action library.
In an embodiment, each action in the action library is based on values corresponding to one or more of roll data, pitch data, yaw data and acceleration data.
In an embodiment, each action in the action library is based on change in values corresponding to one or more of roll data, pitch data, yaw data and acceleration data.
In an embodiment, each action in the action library is based on range of values corresponding to one or more of roll data, pitch data, yaw data and acceleration data.
In an embodiment, the control module 102 performs the action in the handheld device 100, which is displayed on a device, which has a relatively larger display, such as a television.
In an embodiment, the control module 102 communicates the data received from the sensors module 110, to an external device, such as a set top box. The external device can include the action library, which queries the action library, and actions are performed based on the data received from the control module 102 and the action library.
In an embodiment, the control module 102 communicates the data received from the sensors module 110, to an external device, such as a television. The external device can include the action library, which queries the action library, and actions are performed based on the data received from the control module 2102 and the action library.
In an embodiment, sensor data, such as the yaw data is normalized, so that the actions can be performed accurately.
The calibration module 302 calibrates yaw value by determining a normalization factor that is applied to yaw data, which is received from the sensors module 110. The normalization factor is used to determine normalized yaw value, which is used to accurately control video games.
The normalization module 304 determines normalized yaw values by using the normalization factor and the yaw data, which is received from the sensors module 110.
The action determination module 306 uses the yaw values, pitch data, roll data and acceleration data to determines the actions to be effected in the video game that is being played and controlled using the handheld device 100.
Yaw value, as indicated in
In order to use yaw data for controlling games using the handheld device 100, yaw value is calibrated subsequent to initiation of reception of yaw data. In order to calibrate the yaw value, subsequent to initiation of reception of yaw data, user of the handheld device 100 is requested to hold the handheld device 100 as per an instructed orientation.
It shall be noted that, a user, although instructed to hold the handheld device 100 as per the instructed orientation, may not be holding the handheld device 100 as per the instructed orientation. However, if the user, either explicitly or implicitly, provides an input that the handheld device 100 is held as per the instructed orientation, then the control module 102 determines the normalization factor as per the yaw value recorded at the instant orientation at which the handheld device 100 is held.
The normalization factor is used to normalize yaw values that are received during a gaming session (the same session in which the instant normalization factor is determined) to control the game using the handheld device 100.
Similarly, if at step 704, it is determined that normalization factor is greater than zero, then at step 712, it is verified whether yaw value that has to be normalized, which is collected during a gaming session, is greater than the normalization factor. If the yaw value is less than the normalization factor, then at step 714, normalized yaw value is determined subtracting the normalization factor from yaw value and PI. On the other hand, if the yaw value is greater than the normalization factor, then at step 716, normalized yaw value is determined by subtracting normalization factor and PI from yaw value.
The normalized yaw values, roll data, pitch data and acceleration data are used by the control module to control the video game using the handheld device 100.
In an embodiment, the data received from the sensors module 110 is used to control a video game, such as a tennis video game. In this example, the video game is included in the handheld device 100, which also includes the sensors module 110. The video game, while being processed in the handheld device 100, is displayed on a television. Therefore a gamer controls the video game using the handheld device 100, while the video game is displayed on the television.
The yaw value is calibrated and the subsequent yaw values are normalized, as explained earlier. Further, the gamer provides an input as to whether the handheld device is held in the right hand or the left hand. This instant input is used to determine the type of tennis shot that is being played by the gamer.
Further, each yaw value is de-scaled, by applying a de-scaling factor. The de-scaling factor can vary based on game requirements. In this example, de-scaled yaw may be referred to as yaw.
Additionally, the yaw value, which may be polar form is converted into Cartesian coordinates in X, Y and Z direction. The conversion can be carried out as provided below:
The above conversion provides the direction of the shot.
The yaw value is used to determine the shot hand in this tennis game. The shot hand, for example, is of four types, namely, right hand fore hand, right hand back hand, left hand fore hand and left hand back hand.
Alternatively, if the handheld device 100 is held in the left hand, then the control module 102 determines whether the difference obtained by subtracting end value of yaw from the start value of yaw is less than or equal to zero, at step 806. If the instant difference is less than or equal to zero, then the short hand is determined to be left hand fore hand, else the short hand is determined to be left hand back hand.
The control module 102 also determines the tennis shot type. The shot type, for example, can be, normal, drop and lob. The control module 102 determines the shot type using the roll value. The control module 102 can use average roll value to determine the shot type. In order to determine the shot type, vertical upper and lower limit for roll, and horizontal upper and lower limit for roll may be preset. The limits can be, for example, as provided below:
Vertical lower limit=0.8
Vertical upper limit=2.35
Horizontal lower limit=2.35
Horizontal upper limit=3.14
If it is determined that, at least one of, the roll value is not greater than or equal to the vertical lower limit, and the roll value is lesser than or equal to the vertical upper limit, then at step 908, the control module 102 checks, whether the roll value is greater than or equal to the horizontal lower limit, and whether the roll value is lesser than or equal to the horizontal upper limit. If the roll value is greater than or equal to the horizontal lower limit, and the roll value is lesser than or equal to the horizontal upper limit, then the shot type is determined to be a “lob” shot, at step 910. Else, the shot type is determined to be a “drop” shot.
In light of the foregoing description, it shall be noted that the determination of shot direction, shot hand and shot type enables controlling the video game using the handheld device 100, while the game is displayed on a larger display screen, such as a television screen.
In an embodiment, acceleration data 214 is used to determine whether an action has to be performed or not. For example, threshold limits for acceleration data 214 are set for X, Y and Z axis. The control module 102 determines that an action, such as, playing of a tennis shot, has been performed. Subsequently, the control module 102 uses attitude data to query the action library for identifying the action to be performed.
In an embodiment, the control module 102 uses the acceleration data 214 for adding an attribute, such as speed of a shot, to an action. In an embodiment, the handheld device 100 is used as a wireless controller. The method of using the handheld device 100 as the wireless controller includes, receiving at least of roll data, pitch data, yaw data and acceleration data corresponding to the handheld device; determining one or more actions to be performed based on one or more values of the at least of roll data, pitch data, yaw data and acceleration data; and enabling performance of actions that are displayed on at least one display that is discrete from the handheld device.
In an embodiment, at least one of roll data, pitch data, yaw data and acceleration data corresponding to the handheld device is received by the control module 102. The control module determines one or more actions performed by a user who is using the handheld device, based on one or more values of the at least one of roll data, pitch data, yaw data and acceleration data. Further, the one or more actions performed by the user are compared with benchmark. The comparison can be used to take required decisions.
For example, a dance game can use the functions of the control module 102 to determine steps (actions) performed by a gamer who dances while holding the handheld device. Later, the steps can be compared with benchmark steps. Subsequently, the gamer can be informed about how well the gamer has performed with respect to the benchmark.
The processes described above is described as sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, or some steps may be performed simultaneously.
In an embodiment, a computer program product is provided. The computer program product includes a computer readable medium. The computer readable medium includes instructions, that can be executed by a data processing system, such as, for example, a handheld device and a microprocessor. The execution of the instructions, causes the data processing system to operate as described herein.
Although embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the system and method described herein. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Many alterations and modifications of the present invention will no doubt become apparent to a person of ordinary skill in the art after having read the foregoing description. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. It is to be understood that the description above contains many specifications, these should not be construed as limiting the scope of the invention but as merely providing illustrations of some of the personally preferred embodiments of this invention. Thus the scope of the invention should be determined by the appended claims and their legal equivalents rather than by the examples given herein.
Number | Date | Country | Kind |
---|---|---|---|
1765/MUM/2013 | May 2013 | IN | national |