Method and apparatus for generating special effects

Systems and methods for generating special effect are provided. In one embodiment, the method includes: receiving an input information from a game controller; generating an output data set based on the input information received by the game controller at a game console; transmitting the output data to a stage kit; and generating special effects at the stage kit based on the output data received from the game console.

TECHNICAL FIELD

The present invention relates to real life gaming special effects, and more particularly, some embodiments relate to a system for generating fog, strobe lights, and flashing LEDs in response to output data of a game console.

DETAILED OF THE RELATED ART

Interactive video games typically allow the user, or player, to provide some form of input to a game. This is commonly accomplished by the use of a controller of one form or another. In one example, a controller might be a hand-held controller that has input features such as a plurality of buttons, analog joysticks, D-pad directional control and other user input devices that provide a means for a gamer to input desired controls to the game software. Such user input would typically affect the game activity on the video screen.

For example, a typical controller for a PlayStation, Xbox, or GameCube gaming console might have buttons (for example X, O, Δ, □ or X, A, B, Y buttons); analog joysticks to control game piece movement; a four-way D-Pad; trigger buttons; and other miscellaneous input buttons. Pressure sensitive buttons and analog joysticks mean that an ADC port for these controls can be added to allow appropriate response with minimal latency. As other examples, a controller might be configured as a joystick as is popular for flight simulator games, a steering wheel and pedal combination as is popular for driving games, and guitar or other musical instruments for interactive music-based games. As these examples illustrate, a controller for a gaming console or computer game might take on many diverse forms.

Until the advent of the popular PlayStation platform (circa 1996), feedback from video game play was limited to the visual and the audible. Players were provided information through the use of visual feedback via the display monitor and with various sounds. As technology has improved and processing speeds increased, the amount and quality of the audio and visual feedback has steadily improved. Additionally, video game interactivity has been enhanced by the addition of tactile feedback through the controller. It is now common for video game manufacturers to incorporate tactile feedback into game controllers. The most common form of physical feedback is vibration, also known as rumble, in the controller. Such vibration is often accomplished by providing motors with offset weighting on their shafts to provide a vibration or rumble sensation when the shaft is rotated. This might be triggered, for example, to make the controller rumble when a bomb is dropped, a car crashes, etc.

Rumble feedback is accomplished by having one or more built in motors inside of a game controller that spin an intentionally unbalanced weighted shaft. The vibration or rumble corresponds to an action in the game software or in the game set-up software. For example, in some fighting games, when a controlled game character is hit, the controller will vibrate. Or as another example, in a driving game, when a crash or car-to-car impact is experienced, the controller will vibrate. This type of vibration is known as ‘passive’ vibration, that is, it is accomplished by simply ‘shaking’ the controller. Game controller vibration can be tailored to offer specific tactile sensations that simulate the type or extent of activity occurring in the game.

Another form of tactile feedback can be accomplished with servo-mechanisms. A series of motors built into a game controller, directly or indirectly through the use of drive belts or gears, are connected to a game controllers control surfaces to actively oppose physical input made by the gamer. This is known as force feedback, and requires more complex servo-mechanisms and controller design than does passive vibration feedback. For example, in a steering wheel controller, force feedback would require a servo mechanism attached to the shaft of the steering wheel. Upon certain electronic commands, for example, in a very high speed turn, the servo-mechanism would act to make the steering wheel physically more difficult to turn. These various types of vibration or force feedback have become very common in modern day video games.

BRIEF SUMMARY OF EMBODIMENTS OF THE INVENTION

According to various embodiments of the invention, various features and functions can be included with a gaming controller or other gaming appliance or peripheral device to enhance the gaming experience. In accordance with an embodiment of the invention, a game system comprises: a game console; a game peripheral having a plurality of user input devices, the game peripheral is configured to send data to the game console based on an activation event of one of the input devices by a user; a “stage kit” device (or collection of devices) configured to generate a special effect based on a special effect information received from the game console, wherein the special effect information is generated by the game console based on the activation event.

In an another embodiment, the stage kit comprises: an LED device; a fog generator; and a strobe light. Each device in the stage kit can be configured to generate a special effect based on the special effect information received from the game console.

In accordance with yet another embodiment of the invention, a method for generating a special effect comprises: receiving an input information from a game controller; generating an output data set based on the input information received by the game controller at a game console; transmitting the output data to a stage kit; and generating special effects at the stage kit based on the output data received from the game console.

DETAILED DESCRIPTION OF THE EMBODIMENTS OF THE INVENTION

The present invention is directed toward systems and methods for providing various forms of feedback between a gamer and the gaming system. Particularly, one or more embodiments are directed toward providing feedback between the gamer and the gaming system by way of one or more various forms of controllers that might be used by a gamer in playing a game or in setting up or configuring the game.

Before describing the invention in detail it is useful to describe a few example environments with which the invention can be implemented. Description in terms of this example environment is provided to allow the various features and embodiments of the invention to be portrayed in the context of an exemplary application. After reading this description, it will become apparent to one of ordinary skill in the art how the invention can be implemented in different and alternative environments.

One such example is that of a gaming system used by one or more video game players, or gamers, to play computer games or video games.FIG. 1is a block diagram illustrating a generalized version of a gaming system100as one example of an environment with which the invention can be implemented. Referring now toFIG. 1, the example gaming system includes a gaming console102, a monitor106, a gaming controllers104, game accessories105, and a stage kit110. The illustrated example also includes an interface to a communication medium or communication network108such as, for example, the internet or other communication channel.

In one environment, gaming console102might be implemented as a PlayStation 2, PlayStation 3, Xbox, Xbox 360, GameCube, Wii or other like gaming console. In another implementation, gaming console102might be implemented as a personal computer or other like computing device. A gaming console102would typically include a processor or other computing device providing the ability to allow gaming applications, which are typically software applications, to be run thereon. A gaming application might be installed, for example, through the use of CD ROM drives, DVD drives, or other storage medium or communications interfaces. Typically, a gaming console102can be analogized to a computer or computing system to run the gaming software.

A monitor106is typically provided to allow the gaming environment to display to the gamer during game play. Monitor106can also be used to display menus and other features to the gamer to enhance the game play environment. Various interfaces might be provided between gaming console102and monitor106to provide the proper video signal to drive monitor106. For example, RGB, NTSC, VGA, Component Video, HDMI, and other signal types or specifications can be used to provide communications between gaming console102and monitor106.

Although not illustrated, speakers can also be provided, typically with monitor106, to provide audible information to the gamer during game play and during set up. For example, in one embodiment, monitor106might be implemented as a television with built in speakers that is connected to the gaming console via a coaxial or other audio and video input. As another example, in another embodiment, accessory105might be implemented as a hand-held controller with built in speakers that is connected to the gaming console via a cable or wireless signals.

Also illustrated in the example environment are gaming controllers104that can be used to allow gamers to provide input to the game software as well as to receive feedback from the game software during set up and game play. As described in the background section, controllers104can include, for example, X, Y, A, B buttons, trigger buttons, analog joysticks, key pads, and other devices to allow the user to provide input to the game. Thus by actuating the various buttons, switches or joysticks, the gamer can control the operation of the game or control characters or vehicles in the game. The interface between controllers104and gaming console102might be either wired and/or wireless interfaces as may be desired. Likewise, throughout this document, references to communication or signal interfaces can be implemented using wired or wireless interfaces, unless otherwise specified.

Game accessories or peripherals105can be a guitar, a drum set, a microphone, a steering wheel, a keyboard, a mouse, a gun, or other type of game controller. Each of the accessory105can be connected to game console102via a wireless or wired interface.

In one embodiment, stage kit110includes a light show generator, a strobe light, a fog generator, and a stage kit control module112. The light show generator can be an array of light emitting diodes (LEDs). The array of LEDs can be disposed in a housing having reflective surfaces configured to project lights from the LEDs in various directions. The strobe light is configured to emit lights that flash at various frequencies or cycles such as, for example, 6, 8, 10, and 12 Hz. The fog generator can be standard a glycol or glycerin-based fog generator. Stage kit control module112is configured to control the functionalities of each component of the stage kit, including the light show generator, the strobe light, and the fog generator. Stage kit control module112can be integrated on any one of the stage kit other components. In one embodiment, the stage kit control module112is integrated into the light show generator. Alternatively, the stage kit control module112can be integrated into the fog generator.

Each component of stage kit110can be configured to communicate with other components via a wired or wireless interface. In one embodiment, the strobe light is physically attached to the fog generator and they are in wired communication with each other. In one embodiment, fog generator is connected to the light show generator via a wired interface. Similarly, the light show generator can be in a wired communication with game console102. Stage kit control module112can also be configured to communicated with game console102using either a wired or wireless interface.

Also illustrated in the example ofFIG. 1is a communications connection to a network108. For example, a user may wish to connect the gaming console102to the internet or other communication medium whereby game information can be downloaded or uploaded to various websites, online services such as Xbox Live, or other entities or services. Also, through a communication medium108, garners might compete amongst other garners at their gaming systems100, even if such other gamers at remote location. Note that depending on the gaming environment, remote gaming systems100might or might not have similar configurations to one another.

FIGS. 2A-Bare diagrams illustrating an LED light array device200in accordance with one embodiment of the present invention. Referring toFIG. 2A, in one embodiment, LED device200includes an LED array210, light conditioner area220, and user interface230. LED device200can be configured to connect to game console102via a wire or wireless interface. In one embodiment, LED device200is configured to communicate with game console102via a USB port of game console102.

As shown inFIG. 2A, in one embodiment, LED array210has eight groups of LEDs arranged in a circular fashion. Although a circular arrangement is shown, other shapes such as, for example, square and triangle could be also used. LED array210can also have more or less than four LED groups. In one embodiment, each group of LEDs has a total of eight LEDs. Each LED in a group, for example, the group of LEDs211a-h, can be in different colors such as, for example, red, green, blue, and yellow. Alternatively, each LED of the group of LEDs211a-ccan be the same color. Preferably, the color of the LEDs of an adjacent groups is different. Alternatively, the color of LEDs in an adjacent group can the same.

Each LED or group of LEDs can be switched based on information received from a game console. In one embodiment, LED device200is configured to switch one or more of the LEDs or groups of LEDs based on signals received from the game console. In one embodiment, LED device200is configured to receive data from game console102via a peripheral input channel. In some consoles, the peripheral input channel is used to control the rumble (vibration) function of a controller. In an example of the Xbox 360 game console, the peripheral input channel can be configured to deliver two 16 bits words to a controller connected to the Xbox 360 console. Thus, for the Xbox 360, LED device200is configured to switch LED array210based on one or both of the 16 bits data words received from the peripheral input channel.

Referring now toFIG. 2B, light conditioner area220includes a clear lid222and a concave-shaped cavity224. Lid222can be made with a clear plastic or glass to allow light to be transmitted there through. The surface of cavity224is configured to reflect and diffract light from LED array210. Although not shown, in one embodiment, one or more LEDs of each group of LEDs can be positioned such that light will be emitted downward towards cavity224. In this way, various lighting effects can be achieved.

In one embodiment, LED device200includes a user interface230configured to send a user's feedback to game console102. Using user interface230, the user may change settings of a game, save or load a game, etc. In one embodiment, user interface230includes a directional-pad (D-pad), a back button, a start button, and a plurality of control buttons such as, for example, X, Y, A and B buttons.

FIG. 3is a diagram illustrating a fog generator & a strobe light assembly300according to one embodiment of the present invention. Referring toFIG. 3, assembly300includes a fog generator310and a strobe light320. As mentioned above, fog generator310may be a glycol or glycerin-based fog generator, although other fog generation techniques can be used. Fog is generated when a “fog juice” (glycol or glycerin-based fluid) is pumped to a heater that evaporates the juice to form fog. Although a glycol or glycerin solution is discussed, other suitable type of chemicals can be also used to generate fog.

In one embodiment, fog generator310is powered by an AC power source such as, for example, power from a wall plug. Alternatively, fog generator310can be powered by a DC power source such as, for example, batteries. As shown inFIG. 3, in one embodiment, strobe light320is physically attached fog generator310. In this way, strobe light320may obtain power from fog generator310. Assembly300, as shown, can be placed in an area where the fog and strobe light effects can be experienced by the user while playing game such as, for example, behind or in front of the display screen.

In one embodiment, strobe light320is an separate standalone unit that can be placed away from fog machine310. In this embodiment, strobe light320can be configured to communicate with fog machine310through a wired or wireless interface. Additionally, strobe light320can be powered by battery, direct connection to an AC outlet, or via a wired connection to fog generator310.

The functionalities of strobe light320can be controlled by the stage kit control module112(not shown) that may reside on fog machine310or elsewhere in gaming system100such as for example, a game controller, and a LED light array device, etc. For example, in one embodiment, the stage kit control module112is located on a LED light array device, which is in communication with game console and fog generator310. In this example, game console may switch on/off the fog and lights of fog generator310and strobe light320via the stage kit controller located on the LED light array device. In one embodiment, strobe light320is configured to be in direct communication with the stage kit controller. In this way, depending on the location of the stage kit controller, strobe light320can be independent from fog generator or the LED light array device.

As described above, stage kit110provide lights and fog special effects using LED device200, fog generator310, and strobe light320. The functionalities of these devices can be switched on and off by a stage kit controller module112that is configured to receive data from game console102. In one embodiment, stage kit controller module112is configured to control LED device200, fog generator310, and strobe light320using data received from a peripheral input channel. For example, in operation, stage kit controller module112receives information from console102. Using the received information, controller module112can switch on/off the fog, the LED array, and strobe lights. Controller module112can also set the operational settings of the fog, LED array, and the strobe light such as, for example, how frequent the fog should be emitted and strobe light should strobes.

In one embodiment, fog generator310includes an AC-to-DC converter (not shown) for converting a 120V AC into 12V DC. The DC power output can then be used to power peripheral devices connected to fog generator310such as, for example, the LED light array device200and strobe light320. A USB port of a game console can provide up to 5V DC power. In general, this is sufficient for most game controllers connected to the USB port of the game console. However, in certain operating modes, the power requirements of the LED light array device and strobe light320may exceed 5V. Thus, in one embodiment, the AC-to-DC converter of fog generator310can be used to power one or more peripheral devices connected to fog generator310. Alternatively, AC power can be sent from fog generator310to peripheral devices. However, the power requirements and supplies in the foregoing examples are not determinative of the direction of data flow between the various elements. For example, if AC power is being sent from fog generator310to peripheral devices, such peripheral devices may still be concurrently sending data signals to fog generator310.

In one embodiment, fog generator310includes a user interface330configured to send a user's feedback to game console102. Similarly to interface230, interface330can be used to change settings of a game, save or load a game, etc. Also similar to interface230, user interface330can include a D-pad, a back button, a start button, and a plurality of control buttons such as, for example, X, Y, A and B buttons. Preferably, only one user interface is needed for stage kit110. Alternatively, user interface230is not included in LED device200and user interface330is provided as the only user interface to console102. As mentioned, the stage kit control module112can be either on the LED device200or the fog generator310. In one embodiment, the user interface is preferably located on the same stage kit component where the stage kit control module112is located.

In one embodiment, fog stage310includes a manual interface (not shown) configured to allow the user to manually change the operational settings of fog stage310and strobe light320. Using the manual interface, the user may perform one or more of the following: switch on/off the heater of fog generator310, switch on/off the fog generator310and strobe light320, and switch on/off the power supply to LED array200.

FIG. 4is a diagram illustrating how stage kit110can be implemented with a game console according to one embodiment of the present invention. Referring toFIG. 4, a system400includes game console102, LED device200, fog machine310, strobe light320, and a remote control410. LED device200can be connected to game console102wirelessly or via a USB port of game console102. In system400, stage kit controller module (not shown) is located on LED device200. In this embodiment, data signals from game console102for controlling stage kit110special effects (e.g. LED array210, fog machine310, and strobe light320) are sent to stage kit controller module on LED device200via a feedback communication channel such as, for example, a peripheral input channel. Specific data structure of the data word used to control LED array210is discussed in further detail below.

As shown inFIG. 4, LED device200is connected to fog generator310via a cable420. Cable420is configured to send control signals to fog machine310and strobe light320and also to provide LED200with additional power. Additionally, remote control410can provide various manual override functions such as, for example, on/off controls of smoke and strobe light and frequency control of the strobe light. For example, using remote control410, the user may set the strobe light to flash at 12 Hz, 10 Hz, or 6 Hz.

In one embodiment, strobe light320can be directly attached to fog machine310. In this way, strobe light320can obtain power directly from fog machine310. Alternatively, strobe light320is detached from fog machine320and has its own power source such as, for example, battery or an AC plug. In one embodiment, system400can have more than one strobe light320. In this way, more special effects can be generated. In this embodiment, the user may use interface230or330to inform game console102of the number of strobe lights in stage kit110.

FIG. 5is a diagram illustrating how stage kit110can be implemented with a game console according to one embodiment of the present invention. Similar to system400,FIG. 5illustrates a system500that includes game console102and a stage kit510. Stage kit510includes LED device200, fog machine310, strobe light320, a remote control410, a second LED device520, and a guitar peripheral530. Additionally, stage kit510can have some or all of the functionalities of stage kit110. As shown inFIG. 5, game console102is directly connected to fog machine310instead of LED device200. Thus, in this embodiment, stage kit control module112is located on fog machine310. Each stage kit component of stage kit510(e.g., LED device200, strobe light320, remote control410, and LED device510) can be wirelessly connected to fog machine310. Preferably, each component is connected to fog machine310via a cable, which can be a conduit for data and power transfer.

System500can have one or more LED device200and strobe light320. For example, a second LED device520can be provided. In this way, more special effect can be generated. Additionally, since fog machine310is directly connected to game console102instead of LED device200, the user interface that is normally on LED device200can be optional. Preferably, in this embodiment, user interface330is the only user interface.

Additionally, system500can include one or more game peripherals such as, for example, a musical peripheral530. Musical peripheral530may be a drum (not shown), a microphone (not shown), or a guitar peripheral. Stage kit510can be implemented to react to notes played or sung using a musical peripheral such as, for example, a guitar peripheral530. In one embodiment, this is accomplished by analyzing data received from game console102via a peripheral input channel. In this embodiment, whenever a note or chord is played on guitar peripheral530, the note or chord information is sent to game console102, which in turns sent that information to stage kit510. In this way, stage kit510can generate a specific special effect based on the note or chord played. In one embodiment, system500can be configured to generate a certain special effect when an incorrectly note is played or when certain events in a game occur.

Alternatively, stage kit110or510can be configured to be in direct communication with a musical peripheral such as, for example, guitar peripheral530. In this way, when a note or chord is played, stage kit510can generate a special effect (e.g. fog, strobe, and LED effects) based on the data received directly from the music peripheral.

As previously described, game console102can control the functionalities of each of the stage kit components via a peripheral input channel. Data that are normally used to control the motor speed for the two vibration motors in a controller are altered with a data structure for controlling various functions of each stage kit component. In an example of the Xbox 360, a command is sent from the Xbox 360 to the stage kit control module112of the stage kit110or510via the XInputSetState( ) call from the DirectX xInput API. Again, in a standard application, this call is used to specify the motor speed for the two vibration motors inside of the Xbox 360 controller using two 16-bit length data words, one word for each motor. For use with the stage kit, the data structure of the two 16-bit length data words are modified to control special effects functions of each component of the stage kit.

In one embodiment, only the higher 8 bits of each 16-bit length word are used to control the special effect functions of the stage kit.

Each 16-bit data word comprises 16 bit positions: [0-15]. The value of the high 8 bits (i.e., 8-15) of each data word is used to control various functions of the stage kit. As mentioned, there are two 16-bit length data words, one for the RightMotorSpeed and one for the LeftMotorSpeed. In one embodiment, bits [8 . . . 10] of the RightMotorSpeed word can be used to control every special effect functions of the stage kit (e.g., fog and strobe light) except for the LEDs' functions. In one embodiment, the data structure that assigns the value of bits [8-10] to a corresponding stage kit control function is as follows:0xX0FF—if this value is set only the LED's are changed0xX1FF—Fog Machine ON0xX2FF—Fog Machine OFF0xX3FF—Strobe Light ON @ 6 Hz0xX4FF—Strobe Light ON @ 8 Hz0xX5FF—Strobe Light ON @ 10 Hz0xX6FF—Strobe Light ON @ 12 Hz0xX7FF—Strobe Light OFF
For example if the Fog Machine is to be turned on, then the value of bits [8-10] of the RightMotorSpeed word should be 0x01FF (511). It should be noted that any of the bit values and functions illustrated above can be interchanged and modified to perform other functions.

In one embodiment, bits [11 12] of the RightMotorSpeed word are used to control functions of LED array210. For example, in one embodiment, the data structure that assigns the value of bits [11-12] to a corresponding stage kit control function is as follows:00—no change01—Motor1updated to PWM value 0xXX10—Motor2updated to PWM value 0xXX11—Laser Light on/off toggle (each time you send this command it will toggle the Laser Light on/off)
Again, it should be noted that any of the bit values and functions illustrated above can be interchanged and modified to perform other functions.

In one embodiment, bits [13 14 15] of RightMotorSpeed world can be configured to control the 8 groups of LED of LED array210. Further, bits [8-15] of the LeftMotorSpeed word can be configured to control the on/off status of each LED in the group of LED. In one embodiment, each group of LED has 8 LEDs. An example of the bits [13 14 15] values and their corresponding functions is shown below.

For example if LED ring1is to be turned on, then the value of wLeftMotorSpeed should be 0xFFFF (65535) indicate “ON” for all of the LEDs in the ring and wRightMotorSpeed should be 0x20FF (8447) to specify a toggle of the LEDs in LED ring1. The bit pattern for each Motor Speed would be as follows with the relevant bits being underlined: the LeftMotorSpeed word is [1111 11111111 1111] and the RightMotorSpeed word is [0010 0000 1111 1111], which is further illustrated by Table 1 below.

In one embodiment, a code to turn all the LEDs in LED ring1ON and turn the Fog machine on can be written as follows:

Referring again toFIG. 2A, LED array210, as shown, each LED is numbered to indicate which bit value they correspond to in the LeftMotorSpeed word.

FIG. 6is a diagram illustrating a high level process flow of the stage kit according to one embodiment of the present invention. Referring toFIG. 6, process flow600starts at a step610. In step610, data from a game controller or a game peripheral such as guitar peripheral530data are sent to the game console. Data outputted by the game controller or guitar peripheral530are generated based on the buttons, D-Pads, or other type of interface the user activated. In a step620, a special effect data set is generated based on the input data received from a game peripheral or based on the game play environment or a combination of both. In one embodiment the special effect data set is in a form of one or more 16-bit data words configured to be transmitted via a peripheral input channel of the game console. Once the special effect data set is generated, it can be sent to the stage kit. For example, during game play, game console102can send special effect data to stage kit110via a peripheral input channel.

In a step620, special effects such as fog, strobe lights, and LED lights, are switched on/off based on the data received from the game console. For example, stage kit110can be implemented in a music game having guitar peripheral530. In this example, stage kit110can be implemented to switch on LED rings or groups1and3whenever a note such as, for example, a ‘A’ note, a ‘B’ note, or a ‘D’ note is played. As a further example, stage kit110can be implemented to switch on strobe light320and/or fog310whenever 10, 20, or any specified number of consecutive notes are played correctly. In one embodiment, fog, strobe lights, and LED lights are switched on/off based on the value of the special effect data set. In one embodiment, steps610-630are continuously repeated during game play.

FIG. 7is a diagram illustrating a process flow700of a stage kit being implemented in a gaming system according to one embodiment of the present invention. Referring toFIG. 7, flow700starts at a step710where a solicitation for a game input is displayed. For example, in a music game, a note is displayed on the screen with an indication of a button on a controller or a game peripheral such as, for example, guitar530next to the note. This display of the note and the button indicator is a solicitation for the user to press the displayed button on the game peripheral.

In a step720, data from the game peripheral is received by the game console. Once the user reacts to step710and presses a button or other type of user input, the game peripheral sends out an input data to the game console.

In a step730, the input data received by the game console is compared with the solicited game input. For example, game console can display a note and solicit the user to press the x-button at a certain time. Once the user press a button and the controller sends that data to the game console, the game console checks to see whether the x-button was actually pressed and not some other button. Based on the comparison, the game console generates a value or a special effect data in a step740.

In a step750, the generated special effect data set are sent to the stage kit. As previously discussed, feedback data can be sent from the console to the controller via a peripheral input channel.

In a step760, special effects such as, for example, fog, LED lighting patterns, and strobe lights can be generated based on the special effect data set. For example, in one embodiment, the user can be awarded with a fog effect, strobe light effect at 12 Hz, and various LED display patterns whenever the user played 50 consecutive notes correctly.