The present invention relates to the field of electronic entertainment, more particularly, to an enhancement for a video game controller to allow private interaction with the user.
In the history of multiplayer video gaming, it has been a common problem adapting some games to be multiplayer on a single gaming machine. One major reason for this is the need for privacy at certain times while playing a game. For example, players could be playing a multiplayer sports game. Using a single gaming machine to display all contents of the game forces a player to choose strategic plays in full view of their opponent. In another example, players can be playing a real-time strategy game (i.e. a war strategy game). In this game, players can be responsible for placing units on a battlefield and using those units to combat with the other players. If the game was played multiplayer on a single console, the placement of a player's units would be revealed and the game would be unplayable.
Requiring additional gaming machines for each player can be extremely expensive. Because of the costs associated with buying a game console for each player, the number of players capable of playing such games are few in number. An intuitive solution is needed to allow private interaction with players on a single gaming machine for multiplayer play.
The present invention can allow for private interactions with game players on a single game console. The present invention can include a game controller enhancement to include a private screen, which can display information that should be private to the respective player. The game controller enhancement can also include private audio support, which can allow the player to hookup an audio device, such as a headset, to receive audio only intended for the user. These enhanced game controllers can be used with supported game software. In some embodiments, the game controllers can have multiple modes of input. The game controller can include a toggle mechanism to switch between modes. One mode can allow the game controller controls to be sent to the game console. Another mode can allow the game controller control over (I/O control) what is being privately shown to the user. In some embodiments, a toggle mechanism can be omitted and game software can switch the input modes appropriately.
The present invention may be embodied as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the present invention may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-usable medium may include a propagated data signal with the computer-usable program code embodied therewith, either in baseband or as part of a carrier wave. The computer usable program code may be transmitted using any appropriate medium, including but not limited to the Internet, wireline, optical fiber cable, RF, etc.
Any suitable computer usable or computer readable medium may be utilized. The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory, a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD. Other computer-readable medium can include a transmission media, such as those supporting the Internet, an intranet, a personal area network (PAN), or a magnetic storage device. Transmission media can include an electrical connection having one or more wires, an optical fiber, an optical storage device, and a defined segment of the electromagnet spectrum through which digitally encoded content is wirelessly conveyed using a carrier wave.
Note that the computer-usable or computer-readable medium can even include paper or another suitable medium upon which the program is printed, as the program can be electronically captured, for instance, via optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
Computer program code for carrying out operations of the present invention may be written in an object oriented programming language such as Java, Smalltalk, C++ or the like. However, the computer program code for carrying out operations of the present invention may also be written in conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers.
Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
The present invention is described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Main displays 122 and 102 can be the main display used to display the game software being played. Main display 122 can allow player 114 to interact with the game software in full screen. In some embodiments, depending on the game software, main display 102 can be split into independent display areas for each player 108, 110, and 112. Even though these independent display areas can be provided, it can still be inappropriate for displaying private information for each player. Main displays 122 and 102 can be any display device including, but not limited to, a television, computer monitor, handheld display, or the like.
Game consoles 120 and 104 can be any computing devices capable of running game software and interacting with game controllers 125-128. Game consoles 120 and 104 can run game software and respond to user-driven events. Game consoles 120 and 104 can output video and audio to main displays 122 and 102. If the private displays are activated on game controllers 125-128, game consoles 120 and 104 can also convey audio and video to the game controllers in which the private displays are activated. Game consoles 120 and 104 can be any gaming machine, including, a computer, SONY PLAYSTATION, NINTENDO WII, MICROSOFT XBOX, and the like.
Players 108, 110, 112, and 114 can be users involved in a gaming session provided by game consoles 120 and 104 via network 150. Player 114 can be associated with viewing angle 115. Viewing angle 115 can illustrate player 114's view of main display 122. Player 108 can be associated with viewing angle 109, player 110 can be associated with viewing angle 111, and player 112 can be associated with viewing angle 113. Viewing angles 109, 111, and 113 can illustrate views of main display 102. Viewing angle 115 illustrates that player 114 has a view that does not cross with any other player's and therefore a private display on controller 125 is not needed. Player 108, 110, and 112's viewing angles interfere with each other and therefore require a private display for private information.
Network 150 can include any hardware/software/and firmware necessary to convey digital content encoded within carrier waves. Content can be contained within analog or digital signals and conveyed through data or voice channels and can be conveyed over a personal area network (PAN) or a wide area network (WAN). The network 150 can include local components and data pathways necessary for communications to be exchanged among computing device components and between integrated device components and peripheral devices. The network 150 can also include network equipment, such as routers, data lines, hubs, and intermediary servers which together form a packet-based network, such as the Internet or an intranet. The network 150 can further include circuit-based communication components and mobile communication components, such as telephony switches, modems, cellular communication towers, and the like. The network 150 can include line based and/or wireless communication pathways.
Controller ports 210 can provide all communication functionality between game console 206 and game controllers 214. Controller ports 210 can support a wired or wireless connection and can allow the conveyance of input between controllers 214 and console 206. Controller ports 210 can be USB, BLUETOOTH, WIFI, serial, or the like.
Game software 212 can be machine-readable instruction code executable by game console 206. Game software 212 can include the content and code necessary to provide a video game session for players 202. Game software 212 can include support for privacy engine 220. Game software 212 can send and receive data to and from privacy engine 220 through controller ports 210. Game software 212 can allow the sending and receiving of audio to and from game controllers 214. Game software 212 can also provide the content to display on private display 216 to privacy engine 220. Privacy engine 220 can convey input provided by private controls 226 to game software 212.
Private display 216 can be a display screen embedded into game controllers 214. Private display 216 can display private information to each player 202. Private display 216 can be controlled by GPU 218. In some embodiments, private display 216 can be touch sensitive. In these embodiments, private display 216 can input private controls 226. Private display 216 can be any display screen, including, but not limited to, an LCD screen, plasma screen, and the like.
Privacy engine 220 can provide the functionality of controlling the private data associated with game controllers 214. Privacy engine 220 can receive data to be displayed on private display 216 and provide it to GPU 218 for processing and displaying on private display 216. Privacy engine 220 can receive audio data from game software 212 and convey it to private audio 222. Private audio 222 can also provide audio data to privacy engine 220 for conveyance to game software 212.
GPU 218 can be a graphics processor for private display 216. GPU 218 can receive raw graphics data from privacy engine 220 and then render them for display on private display 216. In some embodiments, GPU 218 can include 3d acceleration functionality.
Private audio 222 can provide audio input and output for game controllers 214. For example, private audio 222 can include an audio headphone jack. This can allow a player 202 to connect a headset with a microphone. In this situation, private audio 222 can collect audio data through the headset's microphone and convey it to privacy engine 220. Private audio 222 can also play received audio data through the headset for the player.
Input controls 224 can include all of the input mechanisms on the game controller intended for interaction with the game software. Depending on the implementation, the game controller's layout and number of buttons can vary greatly. Input controls 224 can include the game controller's face buttons, shoulder buttons, analog sticks, digital pads, and the like.
Private controls 226 can include the controls for private interaction with game software 212. Private controls 226 can implement the same controls included in input controls 224, but can require the switching of an input mode. This mode can switch automatically or manually. In some embodiments, private controls 226 can include additional controls meant only for private interaction. For example, private display 216 can implement private controls 226 in the form of a touch sensitive display. In another example, buttons can be associated with the private display to only be used for private interaction.
Player table 215 can illustrate a table for managing the players in the game session on game console 206. Player table 215 can include the fields player, controller, and private display. The player field can include the player's unique ID. In some embodiments, this can be the player's online user ID, a temporary nickname, or the like. The controller field can be used to store the controller ID associated with the player. The private display field can be used to store whether or not the player's controller has private display support.
Data store 214 can be physically implemented within any type of hardware including, but not limited to, a magnetic disk, an optical disk, a semiconductor memory, a digitally encoded plastic memory, a holographic memory, or any other recording medium. The data store 214 can be a stand-alone storage unit as well as a storage unit formed from a plurality of physical devices, which may be remotely located from one another. Additionally, information can be stored within each data store in a variety of manners. For example, information can be stored within a database structure or can be stored within one or more files of a file storage system, where each file may or may not be indexed for information searching purposes.
If in step 414, the user has a controller with a supported private display, method 400 can continue to step 418, where the player's content can be rendered on the supported private display. If in step 414, the user does not have a controller with a supported private display, method 400 can continue to step 316, where the player's content can be rendered on the main display. After steps 316 or 318 are completed, method 400 can continue to step 420, where the game software can determine if an end game condition has been reached (i.e. the player has won or lost the game). If the end game condition has not been reached, method 400 can loop back to step 410, where the game software can continue to process each player's display and input. If in step 420, an end game condition has been reached, method 400 can continue to and complete in step 422, where the game session can complete.
The diagrams in
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.