This disclosure relates to a method and apparatus for video game emulation. Among other things, this disclosure describes a method and apparatus for inserting screen events stimulus into emulated game data when there is a haptic stimulus present.
Haptic feedback is a tactile feedback mechanism that utilizes the sense of touch. When used in conjunction with a control system the tactile feedback provides sensory cues to the user which indicates a certain event is happening to the object being controlled. For example, in an airplane simulation, the addition of haptic feedback to a joystick controller in the form of vibrations allows the user to more easily perceive the turbulence.
In a controller, an electrical stimulus activates an actuator which then provides mechanical motion to the controller. The mechanical motion is often vibratory. Early haptic feedback systems utilized electromagnetic technologies that moved a central mass with an applied magnetic field. Newer technologies such as electroactive polymers, piezoelectric, electrostatic and subsonic audio wave surface actuation can be used to create haptic feedback as well. These technologies allow for a more dynamic range of sensations to be produced.
In video games and simulators, haptic feedback has become a common addition to controllers. The haptic feedback capabilities in devices like Sony Computer Entertainment's Dual Shock family of controllers provide a more immersive gaming experience. However, not all gaming systems utilize controllers that can produce haptic feedback. For example, games played on a computer with the use of a keyboard and a mouse often do not support haptic feedback. Additionally, controllers that can generate haptic feedback may have their haptics functionality disabled by the user or they may be broken. Therefore, a controller may not have the haptic functionality envisioned by the game's original designer when legacy games are emulated for playback on different systems then the one they were originally designed for.
Therefore, there is a need in the art to provide a game player who does not receive haptic feedback from their controller a way to visually perceive when haptic feedback would otherwise be generated without having to alter the code of a legacy game.
Although the following detailed description contains many specific details for the purposes of illustration, anyone of ordinary skill in the art will appreciate that many variations and alterations to the following details are within the scope of the invention. Accordingly, the aspects of the present disclosure described below are set forth without any loss of generality to, and without imposing limitations upon, the claims that follow this description.
According to an embodiment of the present invention, when a controller is not capable of generating a haptic response the emulator inserts a screen event stimulus into the emulated game data. The client device platform may then use the screen event stimulus to generate a screen response when the game is displayed on a display unit.
Client device platform 103 may include a central processor unit (CPU) 131. By way of example, a CPU 131 may include one or more multiple core processors, e.g., a dual-core, quad-core or Cell processors. The client device platform 103 may also include a memory 132 (e.g., RAM, DRAM, ROM, and the like). The CPU 131 may execute a process-control program 133, portions of which may be stored in the memory 132. The client device platform 103 may also include well-known support circuits 140, such as input/output (I/O) circuits 141, power supplies (P/S) 142, a clock (CLK) 143 and cache 144. The client device platform 103 may optionally include a mass storage device 134 such as a disk drive, CD-ROM drive, tape drive, or the like to store programs and/or data. The client device platform 103 may also optionally include a display unit 137. The display unit 137 may be in the form of a cathode ray tube (CRT) or flat panel screen that displays text, numerals, or graphical symbols. The display unit 137 may also be capable of displaying a screen event 147. By way of example and not by way of limitation, a screen event 147 may be a brief wiggle of the image on the screen, blurring the image on the screen, a temporary change in the brightness or contrast of an image on the screen or any other temporary alteration or combination of alterations to the image on the screen.
A controller 145 may be connected to the client device platform 103 through the I/O circuit 141 or it may be directly integrated into the client device platform 103. The controller 145 may facilitate interaction between the client device platform 103 and a user. The controller 145 may include a keyboard, mouse, joystick, light pen, hand-held controls or other device. According to embodiments of the present invention the controller 145 may not be capable of producing a haptic response 146. By way of example and not by way of limitation, the controller 145 may completely lack the ability to produce a haptic response 146, or the controller 145 may have the ability to produce a haptic response 146, but the feature has been switched off by the user or is broken.
The client device platform 103 may include a network interface 139, configured to enable the use of Wi-Fi, an Ethernet port, or other communication methods. The network interface 139 may incorporate suitable hardware, software, firmware or some combination of two or more of these to facilitate communication via an electronic communications network 160. The network interface 139 may be configured to implement wired or wireless communication over local area networks and wide area networks such as the Internet. The client device platform 103 may send and receive data and/or requests for files via one or more data packets over the network 160.
The preceding components may exchange signals with each other via an internal system bus 150. The client device platform 103 may be a general purpose computer that becomes a special purpose computer when running code that implements embodiments of the present invention as described herein.
The emulator 107 may include a central processor unit (CPU) 131′. By way of example, a CPU 131′ may include one or more multiple core processors, e.g., a dual-core, quad-core or Cell processors. The emulator 107 may also include a memory 132′ (e.g., RAM, DRAM, ROM, and the like). The CPU 131′ may execute a process-control program 133′, portions of which may be stored in the memory 132′. The emulator 107 may also include well-known support circuits 140′, such as input/output (I/O) circuits 141′, power supplies (P/S) 142′, a clock (CLK) 143′ and cache 144′. The emulator 107 may optionally include a mass storage device 134′ such as a disk drive, CD-ROM drive, tape drive, or the like to store programs and/or data. The emulator 107 may also optionally include a display unit 137′ and user interface unit 138′ to facilitate interaction between the emulator 107 and a user who requires direct access to the emulator 107. The display unit 137′ may be in the form of a cathode ray tube (CRT) or flat panel screen that displays text, numerals, or graphical symbols. The user interface unit 138′ may include a keyboard, mouse, joystick, light pen, or other device. The emulator 107 may include a network interface 139′, configured to enable the use of Wi-Fi, an Ethernet port, or other communication methods.
The network interface 139′ may incorporate suitable hardware, software, firmware or some combination of two or more of these to facilitate communication via the electronic communications network 160. The network interface 139′ may be configured to implement wired or wireless communication over local area networks and wide area networks such as the Internet. The emulator 107 may send and receive data and/or requests for files via one or more data packets over the network 160.
The preceding components may exchange signals with each other via an internal system bus 150′. The emulator 107 may be a general purpose computer that becomes a special purpose computer when running code that implements embodiments of the present invention as described herein.
Emulator 107 may access a legacy game 106 that has been selected by the client device platform 103 for emulation through the internal system bus 150′. There may be more than one legacy game 106 stored in the emulator. The legacy games 106 may also be stored in the memory 132′ or in the mass storage device 134′. Additionally, one or more legacy games 106 may be stored at a remote location accessible to the emulator 107 over the network 160. Each legacy game 106 contains game code 108. When the legacy game 106 is emulated, the emulator 107 uses the game code 108 to produce emulated legacy game data 109.
By way of example, a legacy game 106 may be any game that is not compatible with the client device platform 103. By way of example and not by way of limitation, the legacy game 106 may have been designed to be played on Sony Computer Entertainment's PlayStation console, but the client device platform 103 is a home computer. By way of example, the legacy game 106 may have been designed to be played on a PlayStation 2 console, but the client device platform 103 is a PlayStation 3 console. Further, by way of example and not by way of limitation, a legacy game 106 may have been designed to be played on a PlayStation console, but the client device platform 103 is a hand held console such as the PlayStation Vita from Sony Computer Entertainment.
As shown in
Initially, at 272 the client device platform 103 may deliver information to the emulator 107 indicating that the user has selected a legacy game 106 that he wants emulated. Additionally, the emulation request may also include information that indicates to the emulator 107 that the client device platform 103 does not support haptic responses 146. The emulator 107 receives this information at block 273 and then proceeds to emulate the chosen legacy game 106 at 274. While emulating the legacy game 106, the emulator 107 will check the emulated legacy game data 109 for haptic stimulus 111 at 275. If a haptic stimulus 111 is found, the emulator 107 will insert a screen event stimulus 112. By way of example and not by way of limitation, inserting the screen event stimulus 112 may include having the emulator 107 replace the haptic stimulus 111 by first deleting the haptic stimulus 111 and then generating a screen event stimulus 112 that will be inserted into the emulated legacy game data 109. Also by way of example, inserting the screen event stimulus 112 may include inserting the screen event stimulus 112 into the emulated legacy game data 109 before the haptic stimulus 111 is removed from the legacy game data. Further, by way of example, inserting the screen event stimulus 112 may include inserting the screen event stimulus 112 into the emulated legacy data 109 and not removing the haptic stimulus 111 from the emulated legacy game data 109. At 276, the emulated legacy game data 109 which now contains the screen event stimulus 112 is sent to the client device platform 103 over the network connection 160. The client device platform 103 receives the emulated legacy game data 109 containing the screen event stimulus at 277, and then utilizes the screen event stimulus 112 to display the screen event 147 at 278.
As shown in
As shown in
While the above is a complete description of the preferred embodiment of the present invention, it is possible to use various alternatives, modifications and equivalents. Therefore, the scope of the present invention should be determined not with reference to the above description but should, instead, be determined with reference to the appended claims, along with their full scope of equivalents. Any feature described herein, whether preferred or not, may be combined with any other feature described herein, whether preferred or not. In the claims that follow, the indefinite article “A”, or “An” refers to a quantity of one or more of the item following the article, except where expressly stated otherwise. The appended claims are not to be interpreted as including means-plus-function limitations, unless such a limitation is explicitly recited in a given claim using the phrase “means for.”
This application is a nonprovisional of commonly-assigned U.S. Provisional Patent Application No. 61/666,665 filed Jun. 29, 2012, the entire disclosures of which are incorporated herein by reference. This application is related to commonly-assigned, co-pending provisional application No. 61/666,628, and entitled “DETERMINING TRIGGERS FOR CLOUD-BASED EMULATED GAMES” (Attorney Docket Number SCEA12004US00), filed Jun. 29, 2012, the entire disclosures of which are incorporated herein by reference. This application is related to commonly-assigned, co-pending provisional application No. 61/666,645, and entitled “HAPTIC ENHANCEMENTS FOR EMULATED VIDEO GAME NOT ORIGINALLY DESIGNED WITH HAPTIC CAPABILITIES” (Attorney Docket Number SCEA12005US00), filed Jun. 29, 2012, the entire disclosures of which are incorporated herein by reference. This application is related to commonly-assigned, co-pending provisional application No. 61/666,679 entitled “SUSPENDING STATE OF CLOUD-BASED LEGACY APPLICATION”, (Attorney Docket Number SCEA12007US00) to Victor Suba Miura et al, Jun. 29, 2012, the entire disclosures of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61666665 | Jun 2012 | US |