The present invention generally relates to music game systems using a computer system.
Music games, such as the Guitar Hero games, employ controllers (which are typically coupled to video game consoles, such as the Sony PlayStation 3 game console or the Microsoft Xbox 360 game console, running suitable software to establish the game) by which users simulate playing musical instruments, such as by pressing buttons on the necks of guitars and strumming real or simulated strings, in response to instructions or cues presented on display screens coupled to the game consoles. In an exemplary such game, a series of icons, each corresponding to one of the buttons, is shown on the display screen as music is played. The icons travel down the display screen, and a player attempts to press the buttons, and to strum, when the corresponding icons pass a marked area on the display screen. The user is awarded points based on accuracy (e.g., whether the user activated the correct button) and timing (e.g., whether the user activated the button and strummed at the time the icon passed the marked area, within a predetermined error window) of the user's actions.
One such game is described in U.S. Pat. No. 6,390,923 to Yoshitomi et al., which is hereby incorporated herein by reference. In Yoshitomi's game, each musical instrument's instruction area on the display screen includes a set of long vertical tracks. Note bars move down the respective tracks, and the user is to operate the controller whenever a note bar passes a reference line on the screen. However, when the screen displays several note bars distributed among several of the tracks, especially when the tracks containing note bars are not adjacent each other, it may be difficult for the user to identify the time order in which the note bars should be acted upon. That is, the user may have difficulty resolving the vertical order of the horizontally spaced-apart note bars. Furthermore, none of the note bars provides a cue to the user to indicate which note bar should be acted upon next in time.
In accordance with one embodiment of the invention, a computer readable storage medium encoded with instructions is provided. The instructions cause display of a moving series of sequential note indicators associated with a performance of a musical work, and cause display of a moving leader disposed between a first and second note indicator of the series. The leader provides information related to the second note indicator. The instructions may establish a music game when loaded into memory of a video game console. The console may have at least one controller input, a video output for driving a display, an audio output and memory. Such instructions may be pertinent to a stored, digital representation of the performance, the representation including control signals. In related embodiments, the instructions may cause each note indicator to inform a player to provide an input when the note indicator passes a predetermined location.
In accordance with another embodiment of the invention, a method of providing a music game using a computer system includes retrieving song data having note information from a storage medium coupled to the computer system. The method also includes determining from the song data at least two note indicators to be presented sequentially, and determining from the song data a leader between first and second note indicators. Each note indicator is related to corresponding note information. The first and second note indicators are adjacent to one another. The leader provides information related to the second note indicator. The method also causes display of the at least two note indicators and the leader between the first and second note indicators.
In related embodiments, the leader may include one or more strands between the first and second note indicators. At least one of the one or more strands may be displayed as a continuous strand or a series of non-continuous strands. The song data may include tempo information, and the leader may provide visual information related to the tempo information using the one or more strands. The at least one note indicator may be related to fret selection on a guitar game controller. The at least one note indicator may be related to pitch in a song. The at least two note indicators may be color coded and the leader information may be color to match the color code of the second note indicator. The method may further include comparing a user input to at least one note indicator when the at least one note indicator passes a predetermined location, and determining a score based on a difference between the user input and the at least one note indicator using the computer system. In the method, comparing may include comparing a time the user input was received to an expected time, and determining a score based on a difference may include a time difference between the user input received and the expected time. The song data may include note information for two or more different types of musical instruments. The method may further include determining from the song data to at least one additional note indicator to be presented concurrently with the second note indicator. The leader may include two or more strands between the first and second note indicators where one strand provides information related to the second note indicator and another strand provides information related to the at least one additional note indicator.
In accordance with another embodiment of the invention, a music game system includes a song manager module configured to retrieve song data having note information from a storage medium, and a user interface module, operatively coupled to the song manager module, configured to determine from the song data at least two note indicators to be presented sequentially and to determine from the song data a leader between first and second note indicators. Each note indicator is related to corresponding note information. The leader provides information related to the second note indicator.
In related embodiments, the music game system may further include a display device that displays the at least two note indicators and the leader indicator. The music game system may further include a matching module configured to compare a user input to at least one note indicator when the at least one note indicator passes a predetermined location, and a user performance module, operatively coupled to the matching module, configured to determine a score based on a difference between the user input and the at least one note indicator.
In accordance with another embodiment of the invention, a method of providing a music game using a computer system, the computer system including a music games controller, includes retrieving note information from a storage medium coupled to the computer system. The note information is retrieved from a storage medium coupled to the computer system, and includes timing information. The method also includes displaying, on a graphical user interface, a note indicator based on the note information. The method also includes receiving, by the computer system, an input from a music game controller. The input is indicative of a user playing a note in response to the note indicator.
In related embodiments, the input may include at least one actual string position. The method may further comprise an act of evaluating a user performance based on a comparison of the target string position to the at least one actual string position.
In another embodiment, the note information may comprise a plurality of target string positions, and the note indicator may be a chord indicator. In a further embodiment, the note indicator may indicate a chord name. In a related embodiment, the note indicator may indicate a string position for a root note of a chord. In a further embodiment, the chord may be a power chord.
Illustrative embodiments of the invention may be implemented as a computer program product having a computer usable medium with computer readable program code thereon. The computer readable code may be read and utilized by a computer system in accordance with conventional processes.
The foregoing features of the invention will be more readily understood by reference to the following detailed description, taken with reference to the accompanying drawings, in which:
a-d show a note indicator changing over time according to embodiments of the present invention;
a-d show a note indicator changing over time according to embodiments of the present invention;
a-e show a note indicator changing over time in synchrony with a tempo of a song according to embodiments of the present invention;
a shows the appearance of a chord indicator according to embodiments of the present invention;
b shows an exemplary user interface in accordance with embodiments of the present invention; and
c shows the appearance of leaders between note indicators and a chord indicator according to embodiments of the present invention.
Definitions. As used in this description and the accompanying claims, the following terms shall have the meanings indicated, unless the context otherwise requires:
A “leader”, display of which is caused by a game console executing instructions in accordance with embodiments of the present invention, is a series of one or more moving strands, used to link a first note indicator with a second note indicator (the note indicators being in a series of note indicators pertinent to a musical work) and to provide advance information about the second note indicator. The link need not physically touch successive note indicators, nor need it be continuous. The leader simply needs to occupy space between the first and second note indicators so as to provide advance information about the second note indicator. Optionally, a leader may provide further information, such as about tempo.
Various embodiments of the present invention provide a music game system and method of providing same. The music game system includes a song manager module configured to retrieve song data having note information from a storage medium, and a user interface module configured to determine from the song data at least two note indicators to be presented sequentially and to determine from the song data a leader between first and second note indicators. Each note indicator is related to corresponding note information. The leader provides information related to the next, upcoming note indicator in a series of note indicators.
Embodiments of the present invention may be used with controllers, such as game controllers, by which one or more users (“players”) may provide inputs to the music game system (also referred to as a “game console”) and, optionally, by which the music game system may provide outputs, such as cues, to the users. In some embodiments, the music game provides instructions to one or more players via a visual display. The instructions indicate to each player when to operate a portion of the player's controller and which portion of the controller to operate, such as when to press a guitar string against a fret or when to strum a string. The game system may award points to the player if the player operates the specified portion of the controller, at the specified time, within a predetermined tolerance window.
Any controller or set of controllers that provide suitable input signals to the music game system and, if necessary, that process output signals from the music game system may be used. A single controller may be used if, for example, a single player interacts with the music game or if the controller supports multiple players. Optionally or alternatively, two or more identical or non-identical controllers may be used simultaneously or alternatingly by a single player. Similarly, two or more identical or non-identical controllers may be used simultaneously or alternatingly by multiple players. The controllers may, but need not, be configured to resemble musical instruments. For example, a controller may be configured to resemble a guitar, a drum set, a microphone, etc. Several suitable controllers are described in U.S. Patent Application Publication Nos. US 2009/0191932 and US 2009/0188371, each titled “Methods and Apparatus for Stringed Controllers and/or Instruments,” the entire contents of each of which is hereby incorporated by reference.
As noted, a controller should provide a suitable input signal to the music game system. For example, a controller used by a player who is simulating playing a guitar in a game should provide selection information and timing information. For example, the selection information may provide information about which string or strings have been pressed against which fret or frets by the player. Some guitar-like controllers have electric buttons or other sensors on their necks for generating the selection information, instead of strings and/or frets. Thus, the selection information may be generated using any suitable hardware and/or software. A controller used by a player who is simulating playing a guitar in a game should also provide timing information. The timing information may provide information about when the strings have been strummed and/or which string(s) has been plucked, strummed, etc.
A controller used by a player who is simulating playing a drum set in a game may provide information about which drum, cymbal, cow bell, etc. is struck, which pedal is depressed, etc., including information about the timing of the strike, depression, etc. Some controllers simulate instruments, e.g., a set of drums may be simulated by a user striking a surface of a game controller pad. Other controllers may supply an input in other ways.
The signals from the controller may be sent to the music game system via any suitable medium, such as via a wired or wireless connection. Exemplary suitable connections include universal serial bus (USB), Bluetooth, Ethernet, infrared data transfer (such as according to the Infrared Data Association standard commonly referred to as IrDA) and musical instrument digital interface (MIDI). Details of illustrative embodiments are discussed below.
The song data 100 on the storage medium 106 include various categories of data that affect presentation of a performance of a musical work by the video game console 200 of
Games may be played at various levels of difficulty. In some embodiments, difficulty may be increased by presenting instructions to the player at a higher rate.
As noted, the music game system 110 displays instructions to the player(s), such as on a visual display 120. The visual display 120 may be part of an integrated hardware platform, such as a personal computer or an arcade game, or the visual display 120 may be a separate component, such as a television screen. The music game system 110 may display additional contents on the visual display 120, e.g., contents in addition to the instructions. For example, the additional contents may include a live-action or an animated video sequence depicting game characters, such as musicians playing on a stage or exploring a maze. For example, the characters may be computer generated characters or avatars. The perspective from which the characters are viewed may change as the game progresses or in response to points being scored or points failing to be scored. In addition, the instructions may be displayed with embellishments not strictly required to convey the instructions. For example, the instructions for striking a drum may be displayed overlaid over an image of a drum set. During game play, however, the image of the musical instrument may disappear leaving only the instructions.
When a storage medium 106 is installed in a music game system 110, or song data are downloaded from a server, a song manager module 133 reads the song data and provides information to other modules of the music game system 110. The song manager module 133 may copy portions of the song data to the other modules, or the song manager module 133 may make the data available to the other modules, such as by storing the data in tables or other types of data structures that are accessible by the other modules. Not all data flows or all control flows are shown in
Note data, characterizing note indicators described below, are provided to a user interface (UI) generation module 140. The UI generation module 140 generates images or portions of images to be displayed on the display 120 to provide instructions to the player, such as which string to press against a fret, which fret to use, when to strum, which button to press on a controller, when to press the button, etc. The instructions may, for example, be based on some or all of the notes or words of a song. Aspects of the displayed instructions are described in more detail below.
The UI generation module 140 also generates and updates other aspects of images displayed on the display 120. For example, if a game involves characters searching a maze or fighting other characters, the UI generation module 140 may use the data originally provided as the camera control data 123, the animation control data 126 and the lighting control data 130 to render computer-generated characters, objects (such as weapons) and surroundings (such as buildings, doors, rivers, sky, etc.).
One or more human players, exemplified by a player (user) 143, observe the display 120 and operate one or more peripherals, e.g., game controllers 146, such as one of the controllers described in the above-referenced published patent applications. Of course, a combination of controllers 146 may be used, depending, for example, on the combination of musical instruments represented in the game or depending on a player selection.
An input system module 150 receives signals, such as signals representing selection information and timing information, generated by each controller 146 in response to operations performed by the player 143, such as drum strikes, sounds sung into a microphone or strings strummed As noted, the controller 146 may be coupled to the music game system 110, and in particular to the input system module 150, via any suitable interconnection channel or facility, such as USB, Bluetooth or infrared (IR).
The input system module 150 conveys information about player inputs (actions) to an event manager module 153. The event manager module 153 distributes or otherwise makes available information about the player inputs to other modules of the music game system 110.
A timing and input matching module 156 receives song data, as well as information about player inputs, and evaluates accuracy and timing of the player inputs, relative to instructions that have been displayed to the player. Accuracy here means how closely the player followed the instructions in terms of operating the specified control, such as striking a specified drumhead, pressing a specified button or pressing a specified string against a specified fret. Timing here means how closely the player performed the action to the specified time at which the action was to be performed. In other words, the timing and input matching module 156 determines if the player inputs match the song data, within the predetermined tolerance windows.
The timing and input matching module 156 may also control a tactile feedback module 160 to provide the player 143 with tactile cues to indicate which control (e.g., which string, fret, drumhead, etc.) on the controller 146 to operate and when to operate the control. The tactile feedback module 160 may be part of the integrated music game system 110, part of the controller 146, a device to be attached to the controller 146 or a device separate from the game system 110 and the controller 146. For example, the tactile feedback module 160 may be a vibrator or other device positioned adjacent or on or in a button of the controller 146.
The timing and input matching module 156 also accumulates performance statistics for each player and, optionally, collectively for each of one or more groups of players, as described in more detail below. In addition, the timing and input matching module 156 provides information about player performance, statistics, events, etc. to a player performance module 163.
The player performance module 163 evaluates player performance and allocates points to players and, optionally, to groups of players. The player performance module 163 may, for example, designate time periods or circumstances during or under which player-scored points are multiplied or “bonus” points are allocated, as described in more detail below. The player performance module 163 may also alter the difficulty level of a game, based on criteria, such as the number of times a player has played the game, the rate at which the player has accumulated points in previous games, player inputs, etc.
The song manager module 132 may also generate signals to an audio module 166 in response to player inputs via the controller 146. These sounds may correspond to sounds that would be generated by a virtual musical instrument, if the musical instrument had been operated in a manner identical or similar to the manner the player operated the controller 146. It should be noted that the virtual musical instrument may be different than the musical instrument represented by the controller 146. For example, a guitar-based controller may include strings and frets, and the strings may be strummed, or the controller may include a pick action detector and buttons, instead of strings and frets. However, the virtual musical instrument may be a flute, trombone or piano, and predefined actions taken on the controller may map into simulated actions on the virtual musical instrument. For example, each string of the guitar controller may correspond to a different note on the flute, or each string of the guitar controller may correspond to a different virtual instrument, and each fret may correspond to a different note on the collection of virtual instruments. The audio module 166 plays audio, such as through a loud speaker or headphones (not shown), to the player 143. The audio may be pre-recorded audio tracks stored along with the song data 100, or the audio may be synthesized audio. Optionally, or alternatively, the audio module 100 may generate MIDI signals for processing and playing by an external synthesizer (not shown).
The music game system 100, or portions thereof, may be implemented in hardware or software or a combination of hardware and software.
The game console/PC 200 also may include a network communication port, such as an Ethernet port, by which the game console/PC 200 may be connected (directly or indirectly, such as through a router or firewall) to the Internet or another local- or wide-area computer network (not shown).
A sound system 233 includes sound generation or synthesis components, as are well-known in the art, for generating or synthesizing sounds, as described above.
The game console/PC 200 may also include an I/O system 236, such as a hard disk drive, keyboard, mouse, printer port, and the like.
One or more output devices 240, such as a display monitor, television screen, speakers, etc., may be connected to the game console/PC 200. One or more controllers 243 may be connected to the game console/PC 200, as described above, to provide an input. The controllers may include one or more guitar controllers, one or more drum controllers, one or more microphone controllers, one or more gamepad controllers, etc.
The game console/PC 200 may be a purpose-built device, for example, a device designed specifically for game playing. Optionally, or alternatively, the game console/PC 200 may be a general purpose computer, such as a personal computer, suitably configured to support game play, that is, with a sufficiently fast processor and with sufficient memory.
Thus, the music game system 110 shown in
In process 20, song data 100, which may be stored in the storage medium 106, may be loaded into the song manager module 133. The song data 100 may include note, tempo, and rhythm information. In process 30, song data 100 to be presented may be placed in a queue. In process 40, at least two note indicators are presented sequentially to one or more players. A leader between adjacent note indicators is also presented. The leader may be displayed as one or more strands, although other shapes may also be used. Each strand may be a continuous strand or a series of non-continuous strands, e.g., such as a dotted line. The one or more strands may be contacting an adjacent note indicator or may be between two note indicators without contacting one or both adjacent note indicators. The note indicators are related to corresponding note information from the song data 100. The note indicators inform one or more players to input an appropriate response on the game controller 146 at a designated time. For example, in a music game that includes a guitar game controller, the note indicators may inform the one or more players to play different frets and strum strings on the guitar game controller. As another example, in a music game that includes karaoke with a microphone game controller, the note indicators may inform the one or more players to sing a certain pitch with designated words from a song.
As shown in
For example,
Although the user interface in
Returning to
Another way in which the note indicators 400 may be modified in the user interface is shown in
Another way in which the note indicators 400 may be modified in the user interface is shown in
Another way in which the note indicators 400 may be modified in the user interface is shown in
Another way in which the note indicators 400 may be modified in the user interface is shown in
The chord indicator 402 may indicate to the player 143, through its behavior or its appearance, that the player 143 is to play a chord when the chord indicator 402 reaches the play location 510. In some embodiments, the chord indicator 402 may be of a different brightness, size, color, shape, or other attribute that differentiates the chord indicator 402 from the note indicator 400. For example, the chord indicator 402 may flash, throb, blink, or change size. In some embodiments, the chord indicator 402 may incorporate an embellishment 406 that differentiates it from the note indicator 400. However, in other embodiments, the chord indicator 402 may be identical or nearly-identical to the note indicator 400. In those embodiments, the chord indicator 402 may appear as a note indicator 400 that displays a string indicator 404. For example, as can be seen in
In some embodiments, the chord indicator 402 may indicate some aspect of the chord to be played. The chord indicator 402 may display a string indicator 404 corresponding to a string position, i.e., the number of the string at which a root note of a chord should be played. In the example seen in
The appearance and/or position of the chord indicator 402 may indicate a fret position at which the chord should be played. For example, the chord indicator 402 may have a certain color corresponding to a certain fret at which the chord should be played. In some embodiments, the chord indicator 402 may appear in a region of area 500 corresponding to a fret position. For example, in some embodiments, area 500 may contain six vertical lanes, with each vertical lane corresponding to one of the six strings on the guitar controller.
In other embodiments, vertical lanes may correspond to frets on the guitar controller. An exemplary user interface 1500 can be seen at
Referring still to
As game play progresses, note indicators 400 and chord indicators 402 may approach and contact the play location 510, indicating that the respective note or chord should be played. The note indicators 400 and the chord indicators 402 may appear to “fall” toward the play location 510 at a fixed or variable speed, with the note indicators 400 or chord indicators 402 that are nearest the play location 510 representing the next note or chord to be played.
In some embodiments, the chord indicator 402 may indicate that the player 143 should play a particular type of chord, for example, an open chord, a power chord, a major chord, a minor chord, a seventh chord, an inverted chord, a bane chord, or other type of chord. The type of chord displayed to the user 143 may be determined based on a skill level of the player 143. For example, a novice player may be displayed a simple power chord (i.e., a perfect fifth interval), whereas a more experienced player may be displayed a more musically advanced or complicated type of chord.
The chord indicator 402 may be connected to one or more chord indicators 402 and/or one or more note indicators 400 by a chord leader 412. The chord leader 412 may share some similarities with the note leader 410 as described above, and may indicate to the player 143 that a chord indicator 402 is approaching the play location 510. Such an indication may be given in any number of ways. For example, the appearance of the chord leader 412 may be of a color, size, shape, or width indicating that a chord is to be played next. In some embodiments, the chord leader 412 may grow wider as it approaches the chord indicator 402. In other embodiments, the chord leader 412 may flash, throb, blink, or change size to indicate that a chord indicator 402 is approaching the play location 510. In other embodiments, the fact that a chord indicator 402 is approaching the play location 510 may be signified by a sound or a vibration or other tactile sensation at the guitar controller.
In some embodiments, the occurrence or frequency of chord indicators 402 in the game may be controlled by a number of factors. For example, in some embodiments, chord indicators 402 may be displayed to a player 143 who has selected a “rhythm guitar” mode. Chord indicators 402 may be displayed only during certain parts of the song, for example, during a chorus of the song. In other embodiments, chord indicators 402 may be displayed only on certain skill levels, for example, advanced skill levels.
In still other embodiments, chord indicators 402 may be earned or unlocked by performing at a particular skill or accuracy level for a certain sustained period of time. For example, a player 143 that has played with relatively high accuracy during a certain passage of the song being played may be rewarded with the opportunity to play chords by being displayed one or more chord indicators 402. When such an accuracy level is achieved, chord indicators 402 may be displayed for a certain predefined period. In other embodiments, chord indicators 402 may be displayed for as long as the player 143 continues to perform at a certain accuracy level. In still other embodiments, chords indicators 402 may be displayed in conjunction with a tutorial or music lesson feature of the game.
b depicts a user interface that may be displayed during play of the game. The user interface shows an exemplary sequence of a first note indicator 400 followed by a chord indicator 402, which in turn is followed by a second note indicator 400. As discussed above, the chord indicator 402 may have a different appearance than the note indicators 400. For example, the chord indicator 402 may have the protrusions seen in
The chord indicator 402 may be connected to a preceding note indicator 400 or a preceding chord indicator 412 by a chord leader 412. The chord leader 412 may indicate, through its shape or other visual characteristic, that a chord is to be played next. This may be useful to provide some advance visual cue to the player 143 in order to allow the player 143 to prepare to play a chord.
For example, as can be seen in
As can be seen in
Referring again to
In process 54, a performance evaluation may be computed for the one or more players based on a difference between the user inputs and the expected values as indicated by one or more note indicators 400. Thus, the performance evaluation computes the player's selection accuracy of matching the note indicators 400 as well as the timing accuracy of when the player should input the response. For example, in a guitar game controller, the performance evaluation may be based on whether the correct fret is played as well as whether the correct fret is played at the correct time. If there is a delay in the time when the user input was received compared to an expected time of when the input should be received, then the performance evaluation may appropriately reflect this discrepancy.
In process 56, a user interface may be modified according to the computed performance evaluation. For example, referring again to
In some embodiments, the note indicator 400 or the chord indicator 402 may be modified according to the computed performance evaluation. For example, the note indicator 400 or the chord indicator 402 may change color or shape in response to the accuracy of player's input response.
In some embodiments, a sound may be emitted by the user interface to provide feedback regarding the performance. For example, the sound of a crowd cheering may be played when the player provide multiple correct responses. As another example, the sound of a crowd booing may be played when one or more incorrect responses are given. Other sounds, such as chimes or buzzers, may be emitted in response to particular levels of performance.
Although the individual accuracy indicator 550 provides a player with feedback related to the player's latest input response, an overall accuracy indicator 560 may be displayed to inform the appropriate player of the selection and timing accuracy of the player's responses during the game. The overall accuracy indicator 560 may provide a meter showing the player's overall rating toward a goal. In addition, or alternatively, the overall accuracy indicator 560 may provide feedback in the form of a numerical score. Also, the overall accuracy indicator 560 may be displayed with the appropriate player's character and an indication of the player's streak, such as shown in area 526 of
Referring again to
In process 70, the process checks to see if the end of the game has been reached. If not, the process returns to process 30, where additional song data 100 may be placed in a queue. If the end of the game has been reached, then the game ends in process 80.
A music game system has been described as including a processor controlled by instructions stored in a memory. The memory may be random access memory (RAM), read-only memory (ROM), flash memory or any other memory, or combination thereof, suitable for storing control software or other instructions and data. Some of the functions performed by the music game system have been described with reference to flowcharts and/or block diagrams. Those skilled in the art should readily appreciate that functions, operations, decisions, etc. of all or a portion of each block, or a combination of blocks, of the flowcharts or block diagrams, or of the modules described above, may be implemented as computer program instructions, software, hardware, firmware or combinations thereof. Those skilled in the art should also readily appreciate that instructions or programs defining the functions of embodiments of the present invention may be delivered to a processor in many forms, including, but not limited to, information permanently stored on non-writable storage media (e.g. read-only memory devices within a computer, such as ROM, or devices readable by a computer I/O attachment, such as CD-ROM, DVD disks or Blu-ray disks), information alterably stored on writable storage media (e.g. floppy disks, removable flash memory and hard drives) or information conveyed to a computer through communication media, including wired or wireless computer networks. In addition, while the invention may be embodied in software, the functions necessary to implement embodiments of the invention may optionally, or alternatively, be embodied in part or in whole using firmware and/or hardware components, such as combinatorial logic, Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs) or other hardware or some combination of hardware, software and/or firmware components.
While the invention is described through the above-described exemplary embodiments, it will be understood by those of ordinary skill in the art that modifications to, and variations of, the illustrated embodiments may be made without departing from the inventive concepts disclosed herein. For example, although some aspects of the music game system have been described with reference to a flowchart, those skilled in the art should readily appreciate that functions, operations, decisions, etc. of all or a portion of each block, or a combination of blocks, of the flowchart may be combined, separated into separate operations or performed in other orders. Furthermore, disclosed aspects, or portions of these aspects, may be combined in ways not listed above. Accordingly, the invention should not be viewed as being limited to the disclosed embodiment(s).
Among other implementations, the various modules discussed herein may be implemented as a single integrated unit having the discussed functionality, and/or a plurality of interconnected, separate functional devices. Reference to a “module” therefore is for convenience and not intended to limit its implementation. Moreover, the various functionalities within modules may be implemented in any number of ways, such as by means of one or more application specific integrated circuits or digital signal processors, or the discussed functionality may be implemented in firmware and/or software.
Embodiments may be implemented as a computer program product for use with a computer system. Such implementation may include a series of computer instructions fixed either on a tangible medium, such as a computer readable medium (e.g., a diskette, CD-ROM, ROM, or fixed disk) or transmittable to a computer system, via a modem or other interface device, such as a communications adapter connected to a network over a medium. The medium may be either a tangible medium (e.g., optical or analog communications lines) or a medium implemented with wireless techniques (e.g., microwave, infrared or other transmission techniques). The series of computer instructions may embody all or part of the functionality previously described herein with respect to the method and system. Those skilled in the art should appreciate that such computer instructions may be written in a number of programming languages for use with many computer architectures or operating systems. For example, embodiments may be implemented in a procedural programming language (e.g., “C”) or an object oriented programming language (e.g., “C++”). Alternative embodiments of the invention may be implemented as pre-programmed hardware elements, other related components, or as a combination of hardware and software components.
Furthermore, such instructions may be stored in any memory device, such as semiconductor, magnetic, optical or other memory devices, and may be transmitted using any communications technology, such as optical, infrared, microwave, or other transmission technologies. It is expected that such a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the network (e.g., the Internet or World Wide Web). Thus, some embodiments of the invention may be implemented as hardware, software (e.g., a computer program product), or a combination of both software and hardware.
Although the above discussion discloses various exemplary embodiments of the invention, it should be apparent that those skilled in the art can make various modifications that will achieve some of the advantages of the invention without departing from the true scope of the invention.
This application is a continuation-in-part of, and claims priority under 35 U.S.C. §120 to U.S. application Ser. No. 12/579,360, entitled “MUSIC GAME SYSTEM AND METHOD OF PROVIDING SAME” filed Oct. 14, 2009. This application also claims priority under 35 U.S.C. §119(e) to U.S. Provisional Application Ser. No. 61/307,320 entitled “IMPROVED VIDEO GAME CONTROLLERS AND GAME INTERFACES” filed Feb. 23, 2010, each of which applications are herein incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
61307320 | Feb 2010 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12579360 | Oct 2009 | US |
Child | 12857023 | US |