CROSS-REFERENCE TO RELATED APPLICATIONSThis application is a continuation-in-part of co-pending U.S. patent application Ser. No. 11/957,001 filed Dec. 14, 2007, which is a continuation in part of U.S. patent application Ser. No. 11/828,124, filed Jul. 25, 2007, which is a continuation-in-part of U.S. patent application Ser. No. 11/726,454, filed Mar. 22, 2007, which is a continuation-in-part of co-pending U.S. patent application Ser. No. 11/540,369, filed Sep. 29, 2006, which is a continuation-in-part of co-pending U.S. patent application Ser. No. 11/368,300, filed Mar. 3, 2006, which is a continuation-in-part of co-pending U.S. patent application Ser. No. 11/255,852, filed Oct. 21, 2005. Priority is claimed to these applications and they are incorporated by reference in their entirety.
This application is additionally related to U.S. patent application Ser. No. ______, entitled “Touch Screen Computing Apparatus and Methods”, Attorney Docket Nr. 44435-0012; and U.S. patent application Ser. No. ______, entitled “Universal Toy Controller System and Methods”, attorney docket nr. 44435-0011 both of this are filed contemporaneously herewith.
FIELD OF THE INVENTIONThe present invention generally relates to computing and entertainment system controllers. More particularly, the invention concerns universal control methods, and apparatus for computing and entertainment systems.
BACKGROUND OF THE INVENTIONUsers are increasing demanding more sophistication in computing and entertainment devices. With this demand ever increasing the electronics industry has responded with a wide range of offerings. Entertainment systems typically include online games, played on a personal computer, or in some instances, can comprise stand alone game consoles. One limitation that users experience moving between environments is that most game controllers are not interchangeable between gaming systems. Additionally, a user comfortable with one type of game controller may not enjoy the same experience when changing to another system may not have the same experience they would on a system with a different controller. Further, many game consoles are like personal computers in that the game controllers use an industry standard interface.
Another limitation inherent in the industry is that after a user is familiar with a specific game, the game becomes rather routine. Unless a mechanism is provided that allows the user experience to change over time, a user may loose interest and not receive the same entertainment experience. Further, touch screen technologies are advancing to the point where controllers could become more functional.
Since a number of games are played online it is additionally important to be able to interface with a computer using a common apparatus. Currently computing apparatus input devices, such as keyboards, mice, and stylus sensitive pads can take up a significant amount of space in a users office and serve essentially one function. This is a limitation of the current technologies employed. It would therefore be advantageous to provide a universal controller for gaming systems and for computing apparatus with enhanced capabilities.
SUMMARY OF THE INVENTIONEmbodiments of the present invention provide a computing and entertainment controllers, methods and computer software products. An exemplary embodiment of a provided entertainment system includes at least one hand held game controller with a touch screen and a number of accelerometers. The accelerometers indicating the movement of the hand held game controller. The controllers are configured with wireless communications transceivers allowing them to communicate to a base station. The system further includes a base station that communicates with the hand held controllers. The base station is further configured with a connector suitable for connection to an accessory box and a second connector suitable for connection to a computing device. The entertainment system optionally includes an accessory box with a connecter sufficient for connecting the accessory box to the base station.
In some embodiments, the accessory box is configured to allow additional functionality to be imparted to game play. The entertainment system further includes an online game portal hosted on a server on the network. One embodiment provides a method of interactive play. In this embodiment a signal is communicated from at least one hand held game controller to a base station. Like the above embodiment, the hand held controllers contain touch screens and accelerometers. In this embodiment, the base station additionally receives a communications signal from an accessory box. The base station communicates a command to a computing device that is connected to a server over a network. The computing device sends commands, and other information to the server. The server communicates signals back to the computing device which enable game play on the computing device.
Another exemplary embodiment of the present invention provides a computer software product. The software product is in the form of a computer readable medium. The medium contains processor executable instructions that, when executed by a processor configure a computing apparatus to receive a first communications signal from a base station. This first communications signal includes information received from at least one hand held game controller. The game controller, like the above controllers include a touch screen interface and a number of accelerometers. The configuration additionally includes a configuration to send a second communications signal to a server on a network, the server hosting an online game portal and to receive a third communications signal from the server on the network which enables game play on the computing device, the game play related to a game on the online game portal.
A still further provided embodiment is a computing device accessory that includes a housing, a touch sensitive display that is mounted on the housing, a communications transceiver, and a memory contained within the housing and communicating with the touch sensitive display, the memory containing instructions that, when executed by a processor configure the accessory to illuminate discrete regions on the display, the regions comprising: a keyboard region, a stylus sensitive region, and a mouse region.
Another embodiment provides a computing apparatus that includes a processor, a memory, a touch sensitive display and a storage media the storage media containing a set of processor executable instructions sufficient that, when executed by the processor, configure the computing apparatus to illuminate discrete regions on the display, the regions comprising: a keyboard region, a stylus sensitive region, and a mouse region.
Another exemplary embodiment provides a method of providing interaction with a computing apparatus. In this method the computing apparatus is configured to illuminate discrete regions on a touch sensitive display. The touch sensitive display is mounted on a housing and the housing contains a memory. Some of the discrete regions include a keyboard region, a stylus sensitive region, and a mouse region.
A further provided embodiment includes a computer implemented method that includes providing a computing apparatus, the computing apparatus contains a processor, a memory; and a touch sensitive display. The computing apparatus is configured to illuminate discrete regions on the display, the regions including a keyboard region, a stylus sensitive region, and a mouse region. An additional provided embodiment includes a computer software product. The computer software product including a machine readable media. In this embodiment, the machine readable media contains instructions that when executed by a processor illuminate discrete regions on a touch sensitive display. The discrete regions include a keyboard region, a stylus sensitive region, and a mouse region.
One provided embodiment is a universal game controller system for use with a variety of game consoles. This system includes a game controller which includes a touch screen interface and a first communications transceiver. The system additionally includes a base station; having a second communications transceiver that is configured to communicate with the first transceiver, and a communications port. The communications port is operable to connect the base station to a game console. A further provided embodiment includes a method of enabling game play on a game controller. This method includes communicating a signal from a universal game controller. In this embodiment the universal game controller is configured for use with a variety of game consoles. The game controller includes a touch screen interface and a first communications transceiver. The method further includes receiving the signal at a base station. The base station includes a second communications transceiver which is configured to communicate with the first transceiver, and a communications port operable to connect the base station to a game console. The method further includes communicating a signal from the base station to the game console.
Further provided embodiments include an online entertainment system and methods. In an exemplary method, a software module is provided on a server. The software module includes an application program interface that allows a game programmer to specify a controller mapping. The software module then generates a mapping file which is stored on the server and associated with the game. Once a user selects a game to be played on a remote computer, the server transmits the mapping file to the user's computer. The mapping file, when installed on the user's computer, maps signals received from a universal controller to actions within the selected game.
A still further embodiment provides an entertainment system for providing an interactive experience to a user. The entertainment system includes a server containing a software module. The software module contains an application program interface which allows a game programmer specify a mapping of controller actions to game actions. Based on the mapping, the software module creates a mapping file that is stored on the server and associated with the game. When a user selects a game the associated mapping file is sent to the local computer and installed. When signals are received from a universal controller the information is mapped to actions within the selected game.
An even further embodiment provides a computing apparatus that contains a processor, a memory, and a storage medium. The storage medium includes a set of processor executable instructions that, when executed by the processor configure the computing apparatus to act as a server in an entertainment system. The instructions further configure the server to provide a software module with an application program interface that allows a game programmer to specify a controller mapping. The server is further configured to generate a mapping file for each game and store the mapping file on the server. When a particular game is selected by a user, the appropriate mapping file is transmitted to the user's computer across a network. The mapping file is then installed on the user's computer and when a signal is received from a universal controller, the information contained within the signal is mapped to the game.
BRIEF DESCRIPTION OF THE DRAWINGSVarious embodiments of the present invention taught herein are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which:
FIG. 1 illustrates a base station device consistent with various provided embodiments;
FIG. 2 illustrates an embodiment of a provided entertainment system;
FIG. 3 illustrates a feature of various provided embodiments;
FIG. 4 illustrates a feature of various provided embodiments;
FIG. 5 is an illustration of the flow of a provided method;
FIG. 6 is an illustration of a still further provided method;
FIG. 7 is an illustration of a computing apparatus and computer software product consistent with various provided embodiments;
FIG. 8 is an illustration of an accessory box consistent with various provided embodiments; and
FIG. 9 illustrates an entertainment system consistent with various provided embodiments;
FIG. 10 illustrates another entertainment system consistent with various provided embodiments;
FIG. 11 illustrates a universal controller consistent with various provided embodiments;
FIG. 12 illustrates a computing apparatus consistent with various provided embodiments;
FIG. 13 illustrates the flow of a provided embodiment;
FIG. 14 illustrates the flow of a provided embodiment;
FIG. 15 illustrates the flow of a provided embodiment;
FIG. 16 illustrates the flow of a provided embodiment;
FIG. 17 illustrates a universal tablet controller consistent with various provided embodiments;
FIG. 18 illustrates another embodiment of a provided entertainment system;
FIG. 19 illustrates the flow of a provided method;
FIG. 20 illustrates the flow of another provided method;
FIG. 21 illustrates the flow of a further provided method;
FIG. 22 illustrates the flow of yet another provided method;
FIG. 23 illustrates an embodiment of a user interface;
FIG. 24 illustrates an embodiment of a exemplary universal controller;
FIG. 25 illustrates the flow of another provided method; and
FIGS. 26(a) -(h) illustrate various provided embodiments of a computing apparatus.
It will be recognized that some or all of the Figures are schematic representations for purposes of illustration and do not necessarily depict the actual relative sizes or locations of the elements shown. The Figures are provided for the purpose of illustrating one or more embodiments of the invention with the explicit understanding that they will not be used to limit the scope or the meaning of the claims.
DETAILED DESCRIPTION OF THE INVENTIONIn the following paragraphs, the present invention will be described in detail by way of example with reference to the attached drawings. While this invention is capable of embodiment in many different forms, there is shown in the drawings and will herein be described in detail specific embodiments, with the understanding that the present disclosure is to be considered as an example of the principles of the invention and not intended to limit the invention to the specific embodiments shown and described. That is, throughout this description, the embodiments and examples shown should be considered as exemplars, rather than as limitations on the present invention. Descriptions of well known components, methods and/or processing techniques are omitted so as to not unnecessarily obscure the invention. As used herein, the “present invention” refers to any one of the embodiments of the invention described herein, and any equivalents. Furthermore, reference to various feature(s) of the “present invention” throughout this document does not mean that all claimed embodiments or methods must include the referenced feature(s).
Embodiments of the present invention provide systems, methods and apparatus for universal control of entertainment or computing systems. As is know in the art there are a number of manufacturers of gaming consoles each with different hand held controllers. In some instances a user may be confused by the differences in controllers and may not have the same experience when moving from one console type to another. Some embodiments of the present invention are directed at overcoming that difficulty by providing a had-held controller and system that may interoperate across platforms. Additionally, in some embodiments, the games may reside on a server on a network and the user may play the games on a computing apparatus like a personal computer. Further, some provided embodiments include a computing apparatus accessory which integrates a multiplicity of input devices into a novel, and in some instances reconfigurable device.
One embodiment of abase station100 is illustrated inFIG. 1. In this embodiment,base station100 comprises afirst communications port50 for connectingbase station100 to acomputing device40. As illustrated,computing device40, is connected to anetwork10, like the Internet, and further connected toserver20 containingdatabase30. As illustrated,communications port50 is a wired port such as a Universal Serial Bus or Ethernet port, but as in known in the art may be a wireless communications port. In some embodiments,base station100 additionally includes asecond communications port50 suitable for communications with an accessory box (not shown).Base station100 additionally includescontroller70, a plurality ofcommunications transceivers60 and in some instances anantenna70. As is known in the art all communications can be through either wired or wireless media and the illustrated depictions inFIG. 1 are exemplars.
FIG. 2 illustrates an entertainment system consistent with various provided embodiments. The system includes at least one hand heldgame controller80 containing a plurality of accelerometers (not shown). Each of the hand heldgame controller80 includes atouch screen interface90. In some embodiments, tough screen interface contains a number of controls sufficient to control game play. In one embodiment,touch screen90 includes a plurality of lights which “back light” the controls indicating a control a user should take. In other embodiments,touch screen interface80 contains depressions or “dimples” indicating the controls. In other embodiments,touch screen interface80 contains raised portions or “buttons” indicating the controls. In still further embodiments,touch screen80 contains regions of “textured” material indicating controls. In an exemplary embodiment, the “textured” material is “plexi-glass”, glass, or plastic that has been manufactured to provide a textured feel. Other materials that provide a distinct tactile feel are additionally known in the art and may be used to practice the invention.
Hand heldcontrollers80 further include a communications transceiver allowing for communication withbase station100 in a wireless format. Exemplary communications transceivers that may be used to practice embodiments of the present invention include but are not limited to optical transceivers, radio frequency transceivers, infrared transceivers, BLUETOOTH transceivers (BLUETOOTH is a trademark of the Bluetooth Special Interest Group), RFID transceivers, frequency hopping radio frequency transceivers, and ultra wideband transceiver. Hand heldcontrollers80 additionally include a plurality of accelerometers, such as orientation accelerometers, motion accelerometers, and acceleration accelerometers which provide data related to the position and movement of hand heldcontrollers80.
As discussed above,base station10 includes a like communications transceiver to enable communications with hand heldcontrollers80.Base station100 additionally includes a first connector orcommunications port50 sufficient to connectbase station100 to computing apparatus40 (shown here as a monitor). In some embodiments,base station100 additionally includes a second connector, orport50 sufficient to connectbase station100 toaccessory box120.Accessory box120 likewise includesconnector50, and associated electronics enabling communications withbase station100. Exemplary connectors include but are not limited to Universal Serial Bus connectors, FireWire connectors, twisted pair connectors, phone line connectors, and wired medium connectors.
In some embodiments (not shown),connectors50 are connected to additional communications components such as antennas, optical emitters, and optical detectors. In these embodiments,base station100 includes an additional communications transceiver such as an optical transceiver, a radio frequency transceiver, an infrared transceiver, a Bluetooth transceiver, a RFID transceiver, a frequency hopping radio frequency transceiver, and an ultra wideband transceiver enabling wireless communications betweenaccessory box120,base station100 andcomputing apparatus40.
In an exemplary embodiment,base station100 is configured to route data and commands from and betweencomputing device40, hand heldcontrollers80, andaccessory box120. As mere exemplars, this routing may take the form of receiving communications signals from the hand helddevices80 and forwarding the data contained within these signals tocomputing device40. In other embodiments, the routing may provide for receiving data fromaccessory box120 and sending data tocomputing device40. The routed data may include but is not limited to data from at least one of the plurality of accelerometers, and data from the touch screen interface and data from accessory box enabling additional functionality to the entertainment system. In another embodiment, hand heldcontrollers80 contain abattery recharging port110. Asimilar recharging port110 is provided onbase station100 allowing for the recharge of the hand held controllers' batteries when not in use.
One feature of this embodiment is that thecomputing device40 is in communication with20 server on thenetwork10. The server hosts a game portal which stores information related to the games, information related to users, and in some embodiments, access information. When a user desires to play a specific game, the computing device may determine fromaccessory box120 if the user is allowed to access the specific game. Once the computing device retrieves information on which games a user can access it sends this data to the online game portal. On the server the access data is verified and access is granted to the particular game the user desires to play.
Another feature of various embodiments is illustrated inFIG. 3 which shows a configuration allowing multiple players to participate in a common game. As this illustration depicts, users A-D can use independent entertainment systems to play a common game. Each user A-D interfaces with a hand heldcontroller80. The hand held controllers send user input information tobase stations100, which route this information to computing apparatuses40 (shown here as Personal Computers “PCs”).Computing apparatuses40 are in communication withserver20 acrossnetwork10. As illustrated,server20 is in further communication withdatabase30. In some embodiments,database30 may be located onserver20, in other embodiments,database30 is located on anothercomputing device40 onnetwork10. In this environment, game play is served to each of thecomputing devices40 fromserver20 allowing users A-D to interact with the game through the use of their entertainment system.
FIG. 4 illustrates another feature of various embodiments. In this illustration a configuration is shown where two users (A and B) are supported on a single entertainment system. In this illustration, User A and User B each interact with the entertainment system through the use of hand heldcontrollers80. The controllers communicate user interactions tobase station100.Base station100 routs this interaction information tocomputing device40 which uses the information for game play.Computing device40 further communicates the information toserver20 acrossnetwork10. As in the previously described system,server20 is in communication withdatabase30.
One further feature is illustrated inFIG. 4. The addition ofaccessory box120 allows for additional functionality, such as new games, to be unlocked on the system. In this embodiment, requests for new functionality cause computing apparatus to communicate withaccessory box120 and retrieve access information. The access information is then verified ondatabase30. If access to the new functionality is grated,server20 sends the additional functionality tocomputing device40.
FIGS. 5 and 6 illustrate embodiments of provided methods. InFIG. 5 flow begins inblock140 where a communications signal is communicated from a hand heldcontroller80 to abase station100. As described above, this signal may contain information from a plurality of accelerometers and inputs from a user through a touch screen. Further, this signal is typically communicated wirelessly through the use of wireless transceivers (optical or radio frequency). Flow continues to block150 where a communication signal is sent fromaccessory box120 to thebase station100. As described above, this signal may contain data or other information, such as commands, to unlock functionality on the system. In some embodiments, this signal is sent through wired media connectors, in other embodiments, this signal is sent wirelessly. Flow continues to block160 where a command is sent from the base station to acomputing apparatus40. Inblock170computing apparatus40 communicates data toserver20 onnetwork10. Flow continues to block180 whereserver20 sends a communication tocomputing apparatus40 acrossnetwork10. Inblock190, game play is enabled oncomputing apparatus40.
FIG. 6 illustrates a further embodiment where the flow is the same for blocks140-190. In block200 a signal is communicated from computingapparatus40 to hand heldcontrollers80 throughbase station100 and inblock210 game play is enabled on hand heldcontrollers80. In some embodiments, the enablement of game play on hand heldcontrollers80 comprises the illumination of lights corresponding to controls on the hand heldcontrollers80.
FIG. 7 illustrates acomputing device40 andcomputer software product260 consistent with various provided embodiments.Computing device40 comprisesprocessor230, memory.240,storage media250,input device220, a plurality ofcommunications ports50 andoutput device270. As is known in the art, a number of other components are typically found within a computing device that have been omitted for convenience. As described above, onecommunications port50 provides a path for communication withbase station100 and another provides a path for communication withserver20 acrossnetwork10.Exemplary input devices220 that are suitable to receivecomputer software product260 include but are not limited to CD ROM drives, DVD Rom drives, optical drives magnetic drives, and the like.Computer software product260 comprises a computing apparatus readable medium containing a set ofprocessor230 executable instructions that, when executed byprocessor230 configurecomputing device40 to execute the methods described above. In one embodiment, computer readable media comprises a hard drive located onserver20 and executable instructions sufficient to configurecomputing device40 are downloaded fromnetwork10. In some embodiments, executable instructions are located ondatabase30 acrossnetwork10. As described above,database30 may be located onserver20 or alternatively, on anothercomputing device40 onnetwork10.
An exemplary embodiment of anaccessory box120 is illustrated inFIG. 8. In this embodiment,accessory box120 comprises amemory240, acommunications transceiver60 and acommunications port50. As discussed above,accessory box120, in some embodiments imparts additional functionality to games being played. This functionality may be revealing “secret” rooms, additional weapons, or other features within a game. In some embodiments, additional games are “unlocked” with the use ofaccessory box120.Memory240 may include volatile or non-volatile memory elements. In one embodiment, codes stored onmemory240 may be sent tobase station100 unlocking the additional functionality. In some embodiments accomplishments during gameplay cause server20 to send additional codes for storage inmemory240 onaccessory box120. These embodiments allow a user to experience different gaming as their level of accomplishment increases. In other embodiments purchases madeonline cause server20 to send additional codes toaccessory box120.
FIG. 9 illustrates embodiments where universal controllers interact with game consoles instead of acomputing device40. As is known in the art there are many manufacturers of game consoles and each manufacturer may provide different controllers for interaction. Many of these consoles provide for controller connection through a Universal Serial Bus (USB) or like connection. In the illustrated embodiment hand heldcontroller80, as described above, contains touchsensitive display90. In this embodiment, hand heldcontroller80 communicates withbase station100 through either a wireless or wired connection.Base station100 communicates with a game console. Stated differently,base station100 receives control signals fromhandheld controller80 and communicates them the control data to the game console through its communications port.
Another provided embodiment of a universal controller is illustrated inFIG. 10. In this embodiment, the controller istablet290. In thisembodiment touch screen90 is contained withinhousing300. As illustrated it contains a plurality of discrete regions that are mapped with different functionality and in some embodiments, may be illuminated with various features and controls. Various embodiments oftablet290 include regions for illumination of a keyboard, a section for interaction withstylus280, amouse control region340 and in some instances a specificgame control region350. As illustrated,tablet290 may communicate with the game console through a wireless media or in some embodiments throughcommunications port50.FIG. 11 illustrates some exemplary functional contents oftablet290. In this embodiment,tablet290 contains touchsensitive display90 with an exemplary number of discrete regions that could include agame control region350, a mouse control region340 a keyboard region320 a stylussensitive region330. In this embodiment,tablet290 additionally includesmemory240 and acommunications transceiver60. In some embodiments,tablet290 is battery powered and includebattery400. In a number of these embodiments, power is received fromcommunications port50, such as a USB port, (not shown) and can be used topower tablet290 and rechargebattery400. In other embodiment table290 may be powered by a plug-in power cable (not shown). In other embodiments,tablet290 includes a processor configured to map various functionality to the regions oftablet290. In other embodiments, mapping is accomplished by an external computing apparatus connected to and communicating withtransceiver60.
An embodiment of a providedcomputing apparatus540 is illustrated inFIG. 12. This embodiment includestablet290 touchsensitive display90processor230,memory240, andstorage media250. In someembodiments computing apparatus540 is configured to communicate withnetwork10. As illustrated, touchsensitive screen90 includes discrete sections which are mapped with functionality. As in other embodiments, these regions include akeyboard region320, a stylussensitive region330, amouse control region340, and in some embodimentsgame control section350.
Mapping, in one embodiment includes designating a set of pixels on touchsensitive display90 and associating them with a specific character. In one embodiment, the mapping of a keyboard to keyboard region includes storing a character inmemory240 with a range of pixel locations associated with that character. In an exemplary embodiment, the character is from the American Standard Code for Information Interchange (ASCII). Other character code sets are known in the art and may be used to practice the current invention. Once mapped, a user striking a “character” on keyboard section causes a lookup inmemory240 for the associated character, the character is then read frommemory240 and transmitted by transceiver60 (FIG. 11) or in an embodiment wheretablet240 is embedded incomputing apparatus540 the character is utilized in the manner consistent with normal usage.
In like manner, user interaction with stylussensitive region330,mouse control region340, and in some embodimentsgame control region350 generate data that may be captured, or recorded, and in embodiments similar to the one illustrated inFIG. 11, the data is then transmitted bytransceiver60. In embodiments wheretablet290 is embedded intocomputing apparatus540, illustrated inFIG. 12, data captured from these regions is used in the manner consistent with normal usage.
FIG. 13 illustrates an exemplary embodiment of a provided method. In this embodiment, flow begins inblock360 where discrete regions of touch sensitive display are illuminated. As discussed above these regions can include a keyboard region, a stylus sensitive region, a mouse control region and in some embodiments, a game control region. Other regions may be utilized and illuminated as well. Flow continues to block370 where a character set is mapped to the keyboard region. Flow then continues to block380 where data is recorded from a user interaction with the keyboard region and in embodiments like those described inFIG. 11, inblock380 the data is transmitted fromtablet290.FIG. 14 illustrates the flow of another exemplary method. In this embodiment, flow begins inblock360 where discrete regions of a touch sensitive display are illuminated. Inblock410 data from the stylus region is recorded and in embodiments like those described inFIG. 11, inblock380 the data is transmitted fromtablet290.FIG. 15 illustrates a further embodiment of a provided method. In this method, flow begins inblock360 where regions are illuminated on the display. Flow continues to block420 where data associated with the mouse control region is captured or recorded and in embodiments like those described inFIG. 11, inblock380 the data is transmitted fromtablet290. In similar manner the embodiment illustrated inFIG. 16 begins withblock360 where regions of the display are illuminated. Inblock430 game controls are mapped to a game control region. Inblock440 data is recorded or otherwise captured from the game control region and in embodiments like those described inFIG. 11, inblock380 the data is transmitted fromtablet290.
A further illustration of an integrated universal controller in the form of atablet290 is provided inFIG. 17. This illustrates a dynamic reconfiguration oftablet290. In this embodiment, regions oftablet290 can me remapped from one function to another. For example, as illustrated, at one period of time, a region oftablet290 may be illuminated and mapped as a keyboard region and at another time the same region may be illuminated as a stylus region.
Turning now toFIG. 18, an exemplary entertainment system is illustrated. Components of the entertainment system includeserver20, communicating withcomputing apparatus540 acrossnetwork10. Computing apparatus is additionally communicating withuniversal controller80.Universal controller80, illustrated in some embodiments takes to form of a tablet, or stick controller, but some embodiments of the present invention are not limited to those particular configurations. As illustrated,server20 containsprocessor230,memory240 andstorage media250 andnetwork interface60. Additionally, computing apparatus andserver20 may be communicating with anadditional server20 where other games may be stored. Contained withinstorage medium250 issoftware module410,database30, software application480 and in some embodiments, mapping files420. As illustratedsoftware module410 contains Application Program Interface (API)820. As is known in the art,software module410 may be written in a number of programming languages, such as C, C++, or JAVA™. Additionally, it may be a compiled module, compiled with any number of compilers, or it could comprise a scripts, such as a JAVA™ script or pearl script, or an applet written in JAVA.
In an exemplary embodiment,server20 hosts a web portal and additionally contains a number of web pages that can be sent to aremote computing apparatus540. In one embodiment, a user computer communicates withserver20 through the web portal.Server20 sends software application480 toremote computing apparatus540 for initialization of game play. As illustrated, some embodiments include games stored ondatabase30 while others additionally include remote 3rdparty games hosted onremote server20.Computing apparatus540 additionally includesdisplay430 where game play is graphically depicted.
API820 allows game programmers to write games and custom interfaces foruniversal controller80. Through the use of API820 a programmer may specify which actions ofuniversal controller80 will map to which game play actions. In this manner, a new game programmer only need to interact withAPI820 to ensure that a gamer using auniversal controller80 withcomputing apparatus540 is able to play the new game. In some embodiments this is independent of where the game is actually stored. Interacting with API820 a game programmer specifies which physical actions withuniversal controller80 will map to which actions within the new game. Oncecomplete software module410 generates amapping file420. In some embodiments, mapping files420 are text files that can be read by computingapparatus540, in other embodiments, mapping files are scripts, such as a JAVA™ script, in other embodiments,mapping file420 may be compiled into a Dynamic Linked Library (dll) file and loaded into memory when software application480 executes onremote computing apparatus430.
An exemplary method is illustrated in FIG,19. In this embodiment, flow begins inblock440 where theserver20 provides a software module with an API. As described above, the software module allows a game programmer to specify a controller mapping. Flow continues to block450 where a mapping file is generated for a particular game. Flow then continues to block460 where the mapping file is sent to a remote computing apparatus. Inblock470 the mapping filed is installed on the remote computing apparatus. When game play is initialized onremote computing apparatus540, signals received fromuniversal controller80 are mapped to the appropriate actions within the game.
One feature of this embodiment is that it provides a method that includes providing asoftware module410 on aserver20, the software module having anapplication program interface820, thesoftware module410 configured to allow a game programmer to specify a controller mapping.Software module410 then generates amapping file420, from the software module, themapping file420 specifying a mapping of actions on auniversal controller80, to a game developed by the game programmer. As described above,server20 then transmits themapping file420 to aremote computing apparatus540 across anetwork10, theremote computing apparatus540 configured to operate with auniversal controller80. Themapping file420 is then installed on theremote apparatus430. Themapping file420 configures thecomputing apparatus540 to map signals received from theuniversal controller80 to actions within a game displayed on a display on thedisplay430computing apparatus540. This allows a game programmer to release new games to the public without the need for new controllers. By utilizing the provided software module, universal controller can be remapped to the requirements of the new game.
A further provided method is illustrated inFIG. 20. In this embodiment, flow begins withblock490 where a web portal is provided on aserver20. The web portal is configured to provide a web page toremote computing apparatus540 acrossnetwork10. Flow continues to block500 whereserver20 determines if software application480 has been installed onremote computing apparatus500. Flow continues toconditional block510. If software application480 is not installed onremote computing apparatus540, flow continues to block520 wheresoftware application540 is downloaded and installed onremote computing apparatus540. When software program480 is executed on remote computing apparatus530 a web browser is initialized inblock530. in one embodiment in the first instance of browser initialization by software application480 the browser is initialized with a toolbar enabled. In this embodiment, the enabled tool bar contains a plurality of game selections. Flow continues to block560 where auto mapping of mapping files420 is enabled.
Returning to decision block510 if it is determined that software application480 has been installed onremote computing apparatus540, flow continues to block550. When software program480 is initializes it is executed in block550. Flow continues to block570 where software program570 initializes a web browser with a tool bar disabled Flow then continues to block580 whereserver20 determines if the web browser is accessing the web portal. If, indecision block590 it is determined that the web browser is not accessing the web portal flow continues back to block580 and waits until the web browser is accessing the web portal. If indecision block590 it is determined that web browser is accessing the portal, flow continues to block600 where the tool bar is enabled. Flow then continues to block610 where auto mapping of mapping files420 is enabled. an exemplary web browser with a tool bar is illustrated inFIG. 23.
Methods of providing a web portal are known in the art. An exemplary method includes running web server software, such as Apache web server on a computing apparatus. Various embodiments of software application were developed in JAVA™ programming language, but the present invention is not limited to JAVA™. Those of ordinary skill in the art know that any computer programming language can be used to develop software application480. For example, C or C++. There are a number of Integrated Development Environments (IDEs) that are advantageous for the development. An exemplary IDE is Visual C++ which allows a programmer to utilize web browser objects within the program. Further, when installing a software program, methods known in the art allow for a program to write a flag to a registry file and to communicate the presence of this flag to a remote server. Thus allowing the server to detect whether a particular software program has been installed on the remote computing apparatus. Other known methods of detection may include the installer asking a user to register the software during installation. This registration communicated to the server. Other installers can be created that do not prompt the user for permission to register, merely inform the server that the software program has been installed. Further, methods of determining if a web server is communicating with a particular computing apparatus are known. Exemplary methods include identification by the server of the remote computing apparatus' Internet Protocol (IP) address.
Turning now toFIG. 21 which illustrates the flow of an alternate embodiment of a provided method. In this method, flow begins inblock620 where aserver20 provides a web portal containing at least one web page. As is known in the art, web pages may be created in, for example the Hyper Text Mark-up Lamguage (HTML) or any other similar web based language known to skilled artisans. Further, web portals typically communicate using the Hyper Text Transfer Protocol (HTTP), other protocols for computer communication are known in the art and some embodiments are not therefore limited to either HTML or HTTP. Flow continues to block630 where the web portal provides a web page to theremote computing apparatus540. In this embodiment, the webpage comprises a document written in a standard web format, such as html, that includes a number of links. Each of the links indicating a different game to be played. When a link is selected, flow continues to block640 whereserver20 determines which game has been selected. Flow then continues to block650 where theappropriate mapping file420 is selected. Flow then continues to block660 where themapping file420 is sent toremote computing apparatus540.
Another embodiment of a provided method is illustrated inFIG. 22. In this method, flow begins inblock670 where aremote computing apparatus540 receives a web page fromserver20. Flow then continues to block680 where game selection is enabled by the received webpage. Flow then continues to block690 where, once selected, a game selection is sent toserver20. In block700 a mapping file is received fromserver20. Once the mapping file has been installed, flow continues to block710 where the selected game is initialized. Flow then continues to block720 where a signal is received from auniversal controller80. Inblock730 the received signal is mapped to a game action. Flow continues to block740 where the mapped action is displayed ondisplay430.
An alternate embodiment ofuniversal controller80 is illustrated inFIG. 24. In this embodiment,universal controller80 contains acommunications transceiver60 enabled to send signals to acomputing apparatus540 and, in some embodiments, receive signals fromremote computing apparatus540. As illustrated, this embodiment additionally containsprocessor230,memory240,storage media250, a plurality ofaccelerometers750,battery400, andbattery charging port110. On thefront view controller80 contains a touchsensitive display90. In this embodiment, touch sensitive display contains no deformations or tactile areas. Contained within storage media are a set of processor executable instructions, that, when executed byprocessor230 cause a bitmap stored instorage media250 to be mapped and illuminated on touchsensitive display90. In this manner, universal controller can be updated with additional bitmaps and take on completely different appearance depending on which game is selected fro play.
A method for interaction betweencomputing apparatus540 anduniversal controller80 is depicted inFIG. 25. In this embodiment, flow begins inblock670 and continues throughblock700 in the manner described above. Flow then continues to block760 where a new game is received fromserver760. In this embodiment,server20 additionally stores controller interface files (bitmaps) that relate to each game. Flow then continued to block770 wherecomputing apparatus540 determines if the appropriate controller interface is on itsstorage media250. If, indecision block780 it is determined that the file is not present locally, flow continues to block790 where the appropriate interface is requested fromserver20. Flow then continues to block800 where the interface file is received fromserver20. Flow then continues to block810 where the interface file is sent touniversal controller80 and installed. Returning to decision block780, it is determined that the correct interface file is on computing apparatus' storage media flow continues to block810 where it is sent touniversal controller80 and installed. In an alternate embodiment (not shown) when a new game is received from server20 a message is sent touniversal controller80 indicating the game to be played and the version of the interface file. If the appropriate file is stored within universal controller'sstorage medium250 the file is not sent fromcomputing apparatus540. If the file is not onuniversal controller80, the file is transmitted from computingapparatus540 and installed onuniversal controller80.
Various embodiments of a provided computing apparatus are illustrated inFIGS. 26(a)-(h). In these embodiments, at least one, and in some instances two touch screen displays are used. As illustrated, some embodiments of the computing apparatus are connected in a manner to allow a wide range of movement between the displays. A central feature of these embodiments, is that the computing apparatus is configured with a set of instructions that when executed by a processor contained within the apparatus, different regions of the display(s) are mapped to different functions. For example, as seen inFIG. 26(H), a region of the display is configured as a keyboard, and that region is mapped to the functionality of a keyboard. In other situations, illustrated inFIG. 26(G) the same region is illuminated as a game control region and is mapped to receive inputs from a stylus.
Embodiments of the software present on the computing apparatus have been reduced to practice using JAVA™ programming language. Other languages, such as C or C++ are known in the art and some embodiments are not limited to the particular programming language used to implement the functionality described. Further, one of ordinary skill, given this disclosure, will know how to make and use the invention, because graphics rendering, region mapping, and interaction with computer input peripherals are all within the knowledge of a skilled artisan.
Thus, it is seen that an online entertainment system, universal controller system, methods and computer software product are provided. One skilled in the art will appreciate that the present invention can be practiced by other than the above-described embodiments, which are presented in this description for purposes of illustration and not of limitation. The specification and drawings are not intended to limit the exclusionary scope of this patent document. It is noted that various equivalents for the particular embodiments discussed in this description may practice the invention as well. That is, while the present invention has been described in conjunction with specific embodiments, it is evident that many alternatives, modifications, permutations and variations will become apparent to those of ordinary skill in the art in light of the foregoing description. Accordingly, it is intended that the present invention embrace all such alternatives, modifications and variations as fall within the scope of the appended claims. The fact that a product, process or method exhibits differences from one or more of the above-described exemplary embodiments does not mean that the product or process is outside the scope (literal scope and/or other legally-recognized scope) of the following claims.