The invention relates generally to data processing and, more particularly, the invention relates to providing a method and system for virtual competition.
As computers have grown increasingly important in today's society, humans have used computers to automate and enhance various activities that have traditionally been performed manually. The competitive nature of humans has led to the development of a huge variety of individual and team contests of skill, strength, speed and other attributes so that one or more humans can demonstrate greater ability than their opponents. More recently, computers have been used to provide outlets for competitive behavior as seen in the significant number and variety of computer games that have been created. The winners of these contests may be determined by elaborate rules, judges, or by simply being the last person standing. One of the most basic contests between humans involves physical ability in hand-to-hand combat, and to this day, people continue to challenge others to see who is the better fighter. Some of these challenges are professional and regulated, such as professional boxing, while others are unregulated and spontaneous, such as a fight in a bar.
In accordance with one aspect of the invention, a method and system for virtual competition may include determining a plurality of competitors and generating at least one matchup between a selected two of the competitors. The method may also include determining a plurality of judges and notifying the judges of the matchups. At least one vote is received from at least one of the judges in response to the notification, where each vote is associated with a one of the matchups, and at least one result associated with the matchups is then generated based on the votes.
In accordance with still another aspect of the invention, a system for virtual competition may include a computer readable medium and software stored on the computer readable medium and adapted to be executed by a processor. When executed, the software may cause the processor to determine a plurality of competitors and generate at least one matchup between a selected two of the competitors. The software may also cause the processor to determine a plurality of judges and notify the judges of the matchups. The software further causes the process to be capable of receiving at least one vote from at least one of the judges in response to the notification, where each vote is associated with a one of the matchups, and at least one result is then generated based on the votes.
People tend to be naturally competitive. One of the outlets of this competitive nature has involved countless physical fights, sometimes to prove something and sometimes due to disagreements over a variety of topics. Over time, various techniques have been developed to channel the competitive impulse away from physical combat, from sporting events to games of skill to other techniques. Typically, these techniques have involved some sort of direct challenge between individuals or groups with a winner and a loser, such as individual and team sports. More recently, computer games have become a very common way for people to compete.
In one embodiment, a fantasy fight is a form of virtual competition that allows competitors to engage in a virtual physical fight with the outcome based on the votes of one or more judges based on the judge's determination of which competitor in a matchup would be physically more capable than the other. Alternatively, fantasy fights may be used to determine which competitors would win some other contest between them, such as a contest of knowledge, skill, popularity or other attributes. The fantasy fight also allows groups to compete with each other to determine which group is more physically capable than the other group.
Network 14 comprises any suitable wireless or wireline data communications network operable to communicate data between server 12 and user 16, such as a local area network (LAN), a wide-area network (WAN), an intranet and the Internet. Network 14 may further comprise a single data communications network or multiple data communications networks that communicate with each other.
Users 16 represent humans who access server 12 over network 14, such as by using a personal computer (PC), a hand held computer, a personal digital assistant (PDA), or other suitable electronic processing devices (not shown). Typically, users 16 access server 12 or receive information from server 12 over network 14 in order to participate in a fantasy fight. Users 16 have previously registered or signed up with system 10 and may be identified by name, e-mail address, an alphanumeric identifier or by other suitable techniques. New users 16 may be added and/or register at any time. Each user 16 may be associated with zero, one or multiple groups 20, such as a police department, a fire department and/or a company. Each user 16 may also have one or more characteristics 22 associated with the user, such as height, weight, age, strength, endurance and/or agility. The particular group(s) 20 associated with user 16 may be used to modify the set of characteristics 22 associated with user 16. For example, a user 16 which is a member of a police department may have additional characteristics such as years on the force and rank. For another example, characteristics 22 may include information and content provided by user 16, such as pictures, videos, text and other multimedia content. In additional, characteristics 22 may include statistical information associated with user 16, such as number of fights won and lost, margins of victory and loss, competitors fought, and other suitable information. Further, characteristics 22 for a particular user 16 may also include content, such as text, images and video, contributed by other users 16. For example, users may indicate in another user's characteristics 22 that that user should have a fantasy fight with someone else, such as another user 16. Characteristics 22 may be updated by server 12.
Server 12 further comprises an email module 110, a web server module 112 and a fantasy fight module 114. Email module 110 comprises software stored on a computer readable medium, such as in memory 102 or on media readable by media interface 106, and executable by processor 100 that is operable to generate, receive and communicate electronic mail. Web server module 112 comprises software stored on a computer readable medium, such as in memory 102 or on media readable by media interface 106, and executable by processor 100 that is operable to handle one or more web pages 120. For example, web server module 112 may comprise the Apache web server or the Microsoft Internet Information Server web server. Typically, web server module 112 is operable to send and receive dynamic and static web pages 120 using the hypertext transport protocol (HTTP), but may use any suitable communications protocols and techniques. Web pages 120 comprise textual, audio, video, photographic, programmatic, scripting and/or other suitable information and programs that may be provided to users 16 over network 14 by web server module 112. Web pages 120 may further include hyperlinks from one or more web pages 120 to one or more other web pages 120 that are selectable by users 16. Further, web pages 120 may be static, dynamic and/or static and dynamic web pages, for example, web pages 120 may be dynamically generated by fantasy fight module 114 using information from database 108 and used with web server module 112.
Fantasy fight module 114 comprises software stored on a computer readable medium, such as in memory 102 or on media readable by media interface 106, and executable by processor 100 that is operable to generate and serve data and web pages 120 to support a fantasy fight by users 16. In operation, fantasy fight module 114 provides a fantasy fight experience to users 16 by managing lists of competitors and judges, receiving votes from judges on competitors and generating the results of the competitions. A fantasy fight allows two competitors to engage in a matchup representing a virtual fight with the winner of the fight being determined by the votes of the judges. The competitors may be single individuals or may be groups of people or organizations. For example, the competitors may be police officers who are rivals or friends that want to engage in a fantasy fight for bragging purposes. For another example, a police department and a fire department may want to engage in a fantasy fight to determine which group is tougher.
In one embodiment, a charitable group may setup a fantasy fight between particular individuals and groups, and use system 10 to raise funds, or for other advertising purposes, by sponsoring such fantasy fights. More specifically, in one embodiment, users 16 and other people or organizations may pledge money for each vote cast or for each vote cast for a particular competitor 156 or group 20. Alternatively or in combination, users 16 and other people or organizations may pledge money to purchase votes or to incentivize persons and organizations to vote. For example, a user may pledge $10 for a particular organization to vote or to vote in a particular way. Pledges may be collected using any suitable technique, such as email invoices, online processing or credit cards.
Fantasy fight module 114 maintains a plurality of fantasy fights 140. Fantasy fight 140 represents the one or more competitions between particular competitors or groups of competitors that results in one or more winners, and includes an identifier 150, one or more organizers 152, one or more judges 154, a plurality of competitors 156 and one or more matchups 158. Identifier 150 may comprise any suitable alphanumeric or other identifying element for use by fantasy fight module 114 to uniquely identify a particular fantasy fight. Organizers 152 are users 16 or an administrator associated with system 10. For example, system 10 may have one or more administrators (not shown) responsible for maintaining system 10 or portions of system 10. Fantasy fight module 114 may restrict which of the users 16 may be an organizer 152, such as by requiring organizer 152 to register as an organizer and being approved in some suitable manner, providing certain information or paying a fee. Alternatively, any user 16 may be an organizer 152. Judges 154 are users 16 who vote on the winning and losing competitors 156 in each matchup 158. Competitors 156 are users 16 and groups of users 16 who are involved in matchups 158. Matchups 158 are individual competitions between two competitors 156. A fantasy fight 140 typically includes one or more matchups 158.
Then, at block 202, fantasy fight module 114 determines which of the users 16 are the competitors 156 that have been specified by the organizer for fantasy fight 140. If one or more competitors 156 indicated by the organizer are not currently users 16 of system 10, fantasy fight module 114 may use email module 110 to contact the indicated competitors 156 and invite them to become a user 16; alternatively, fantasy fight module 114 may use any suitable technique to contact the indicated competitor 156.
Alternatively, organizer 152 may have indicated one or more groups 20 as competitors 156 in fantasy fight 140. Fantasy fight module 114 then determines which users 16 are members of the indicated groups 20 based on the groups 20 associated with respective users 16 that will be competing and contacts group members who are not currently users 16 that are identified by organizer 152. If fantasy fight module 114 is unable to contact one or more of competitors 156, then fantasy fight module 114 will return a message to organizer 152 indicating that not all competitors 156 are users 16 so that organizer 152 can indicate the appropriate action, such as ignoring missing members of a group 20, choosing different competitors or continuing with the fantasy fight even though one or more of competitors 156 is not a user 16.
In addition, organizer 152 may use characteristics 22 to select competitors 156. For example, organizer 152 may use the user's physical weight recorded in characteristics 22 to select by weight classes, such as those used in boxing and other hand-to-hand combat sports, to organize multiple groupings of virtual fighters and fights based on weight classes. Other characteristics may be used by organizer 152 to determine competitors 156, such as win record or feedback from other users 16 indicating particular other users 16 that should fight.
Further, organizer 152 may be fantasy fight module 114 itself. More specifically, fantasy fight module 114 may recommend particular match-ups between users 16 based on characteristics 22. For example, fantasy fight module 114 may use email module 110 to email two or more users 16 and suggest a fantasy fight between such users 16, such as when such users 16 have characteristics that match particular criteria, such as number of wins. Organizer 152, an owner or an administrator of system 10 may generate and modify such criteria. Fantasy fight module 114 may also communicate the recommended fantasy fight to other users 16, such as judges 154 who have previously voted on the recommended competitors 156. In one embodiment, fantasy fight module 114 may communicate such recommended match-ups to a particular organizer 152. Alternatively, fantasy fight module 114 may act as organizer 152 and generate fantasy fights 140 itself.
Also, organizer 152 may be a competitor 156 in a particular fantasy fight 140 organized by that organizer 152. Such organizer 156 may issue a “challenge” to another user 16 to compete against organizer 152 as competitors 156 in a fantasy fight 140. For example, if a real-time chat system is associated with system 10, two users 16 may be chatting and one mat decide to challenge the other to a fantasy fight.
Next, at block 204, fantasy fight module 114 determines the match-ups between users 16. When organizer 152 has indicated only two competitors 156, fantasy fight module 114 generates a match-up 158 between the two indicated competitors. For example, two people who are friends may desire to have a fantasy fight to determine who is the toughest. When groups are chosen by the organizer, fantasy fight module 114 determines the users 16 which are members of the selected groups 20, and/or may contact others who are not currently users 16 based on information provided by the organizer. For example, the organizer may indicate that members of a particular police station and a particular fire station are going to engage in a fantasy fight.
Fantasy fight module 114 then organizes the members of the competing groups 20 into multiple individual one-on-one matchups 158 between the members of the groups. For example, if a police agency and a fire department are competitors 156 in the fantasy fight, the users 16 that are members of those groups 20 are paired off with one fireman and one police officer in each matchup 158. In one embodiment, fantasy fight module 114 randomly distributes one-on-one matchups 158 between members of the selected groups 20. Alternatively or in combination, other criteria may be used to determine the pairing, such as alphabetical or by other characteristics 22 associated with the user 16, such as number of wins, number of matchups, height, weight and/or age. Further, organizer 152 may specifically indicate all or some match-ups 158 between members of the competing groups and leave any remaining members of the group(s) to be matched-up by fantasy fight module 114. Fantasy fight module 114 may handle an uneven number of competitors 156 by giving a one of the competitors 156 a bye-round or by some other suitable technique.
Fantasy fight module 114 next contacts competitors 156, such as via e-mail module 110 or by other suitable techniques, to inform competitors 156 that they have been entered in a fantasy fight 140. Competitors 156 may accept or decline the invitation to be in matchup 158. Fantasy fight module 114 receives the acceptance or rejection from competitors 156. When only two competitors 156 are in a fantasy fight and one or both reject the invitation, fantasy fight module 114 may take suitable actions, such as canceling the fantasy fight matchup 158, continuing with matchup 158 with one of the competitors 156 forfeiting or asking organizer 156 how to handle the matchup 158. When one or more groups are involved, fantasy fight module 114 may reorganize the individual match-ups 158 between members of groups 20 to account for users 16 that have declined, allow the users 16 to participate regardless of the user's 16 rejection of the invitation, communicate with organizer 152 as to the appropriate action or take other suitable actions.
Once match-ups 158 have been determined by fantasy fight module 114, at block 206, judges 154 are determined. More specifically, fantasy fight module 114 determines which of the users 16 have been specified by organizer 152 as judges 154. If one or more judges 154 indicated by organizer 152 are not currently users 16 of system 10, fantasy fight module 114 may use email module 110 to contact the indicated judge 154 and invite them to become a user 16; alternatively, fantasy fight module 114 may use any suitable technique to contact the indicated judge 154. Alternatively, organizer 152 may have indicated one or more groups 20 whose members are eligible to be judges 154 in fantasy fight 140. Fantasy fight module 114 then determines which users 16 are members of the indicated groups 20 that may act as judges 154 and contacts group members who are not currently users 16 that are identified by organizer 152 based on group 20. If fantasy fight module 114 is unable to contact one or more of the judges, then fantasy fight module 114 will return a message to organizer 152 indicating that not all judges 154 are users 16 so that organizer 152 can indicate the appropriate action, such as ignoring missing judges 154, choosing different judges or continuing with the fantasy fight even though one or more judges 154 are not users 16. Alternatively, organizer 152 may configure a default action or actions to take when judges 154 are not available or not a user 16. Organizer 152 may chose judges 154 based on any suitable criteria and any number of judges 154 may be chosen. In addition, judges 154 may optionally have differently weighted votes, such as when the decision of one or more judges 154 is designated to be more important by organizer 152. Further, when groups 20 are involved in the fantasy fight 140, organizer 152 may indicate that judges 154 are to vote on or more portions of the involved groups 20. For example, in a fantasy fight 140 between a fire station and a police station, organizer 152 may indicate that one group of judges 154 is voting on the night-shifts of the police and fire stations while another group of judges 154 is voting on the day-shifts. In addition, all users 16 may be specified as judges 154, for example, when organizer 154 sets up a celebrity fantasy fight 140 and allows everyone to vote. Note that in various embodiments, various combinations of the described alternatives may be used.
In addition, as judges 154 are users 16, characteristics 22 associated with users 16 who act as judges 154 may include judge-related information. For example, the voting record of users 16 acting as judges 154 may be stored in characteristics 22 associated with user 16.
Next, at block 208, fantasy fight module 114 notifies judges 154 for the fantasy fight 140 and matchups 158 created at block 200. Fantasy fight module 114 may use email module 110 to notify judges 154 via email. Organizer 152 may configure fantasy fight module 114 to handle uncontactable judges 154 in a suitable manner, such as automatically dropping the uncontactable judge as a judge 154. Judges 154 may vote using e-mail, a suitable web page 120 or via other suitable techniques. In one embodiment, fantasy fight module 114 sends each judge 154 a respective email with a hyperlink to a web page 120 customized to receive that judge's votes. For a fantasy fight matchup 158 between individual users 16, the customized web page 120 allows judges 154 to vote on a winner between the individual competitors 156. For a fantasy fight 140 between groups, customized webpage 120 may allow judges 154 to vote in a variety of ways, such as providing a spreadsheet view or a chart view with voting indicators, such as buttons, checkboxes or radio buttons. In another embodiment, the email to the respective judges 154 may contain a customized spreadsheet that a judge 154 may fill-in and modify to indicate the judge's votes. In general, fantasy fight module 114 may provide any suitable input technique, organization and presentation of matchups 158 to allow judges 154 to provide their votes.
Judges 154, as well as other users 16, may also receive periodic notifications as to the current status of one or more fantasy fights 140. Users 16 may request that fantasy fight module 114 sent information about selected fantasy fights 140 to user 16. The information may be sent on a time-based schedule, such as daily or hourly, or an event based schedule, such as a certain percentage of matchups 158 having been decided or a round of matchups 158 being completed. The information may include current votes totals and results, the standing of particular competitors 156, information from characteristics 22, and other suitable information. Such information may be sent out at block 208, or at other blocks within the method of
Then, at block 210, fantasy fight module 114 receives votes from the judges 154. Judges 154 may vote on each individual matchup 158, such as by using a chart listing all of the matchups 158 with a voting or selection button by each competitor 156 in the individual matchups 158. Judges 154 may also vote on one or more individual matchups 158 before being shown other matchups 158, such as having judges 154 vote on the day-shift and then the night-shift of a police station. For example, if organizer 152 believes that a greater quality of voting results from judges 154 not seeing every matchup 158, but only a portion of the matchups 158, at any given moment.
In addition, organizer 152 may indicate that the voting is to be done serially in discrete rounds where the results from participating judges 154 are known before voting on the next round of matchups 158. For example, such a serial voting system may be used when two groups of judges 154 are voting on the same or similar sets of matchups 158 and the organizer wants the results from both groups of judges 154 before generating further rounds so that the possibility of different results due to the different groups of judges 154 can be used as part of the judging of the fantasy fight 140. Continuing the previous example, in a fantasy fight 140 between a first police station and a second police station, organizer 152 may invite judges 154 from a third police station and a fourth police station and want the voting choices made by judges 154 from the third and fourth police stations to be free of influence from the potentially different results from the judges 154 from the other police station.
Alternatively, after a respective judge 154 votes on the first set of matchups 158 between the two groups in the fantasy fight 140, the respective judge 154 may then immediately vote on the resulting matchups 158, which may be randomly generated by the fantasy fight module 114 based on a suitable criteria, such as a single-elimination tournament, using the respective judge's votes, and the respective judge may continue voting until whatever final setting of matchups 158 is reached. More specifically, organizer 152 may configure the fantasy fight 140 to generate however many rounds of matchups 158 are necessary to result in a single winner, such as by having each individual matchup 158 be single elimination. Alternatively, organizer 152 may indicate that a fixed number of rounds of voting occur or that a certain number of winners is to be reached for voting to stop. Still further, organizer 152 may specify various criteria for elimination, such as single, double or n-round elimination for matchups 158. For example, when double elimination matchups 158 are specified, fantasy fight module 114 may continue to generate sets of matchups 154 for the judges to vote on and not eliminate a competitor until that competitor has lost a certain number of times. Fantasy fight module 114 may continue to generate and provide, for example, web pages 120 to allow a respective judge to vote on multiple rounds of matchups 158 until a winner, a configured number of winners, or a configured number of rounds is reached based on the respective judge's votes in the preceding round or rounds.
Proceeding to block 212, after fantasy fight module 114 receives votes from judges 154, the results of the voting are determined. In a one-on-one matchup 158, the competitor 156 receiving a majority of the votes may be determined to be the winner. Alternatively, organizer 152 may configure the proportion of votes necessary for a competitor 156 to win, such as 66% or 75%, an absolute number of votes, such as the first competitor 156 to receive fifty-five “win” votes, or determine other winning criteria based on the votes. Fantasy fight module 114 may apply any configured statistical weighing to various of the judges' 154 votes as well.
In group versus group and group versus individual matchups 158, determining the results may involve various calculations. When organizer 152 has indicated that each respective judge 154 vote for all rounds of matchups 158 in fantasy fight 140 independently of the other judges 154, fantasy fight module 114 will integrate the various vote results based on the organizer's criteria. Organizer 152 may configure fantasy fight module 114 to rank competitors 156 based on the number of times that competitor 156 was the single, final winner. Alternatively, fantasy fight module 114 may consider how many matches in total that each competitor 156 has won. Also, fantasy fight module 114 may assign a weighted value to a win in a given round of voting and rank competitors 156 based on the total value of their wins. For example, in a single elimination tournament with sixty-four competitors 156 and five rounds of competition, a “win” may be worth one point in the first round, two points in the second round, four points in the third round, eight points in the fourth round and sixteen points in the final round; however, other weightings could be used. The weighted wins system would allow for the possibility of a higher ranking for a competitor 156 who does well consistently, but is not always the single strongest competitor 156. In general, suitable criteria may be configured by the organizer or provided by default by fantasy fight module 114, to determine the overall results from the results of the voting from the judges. Fantasy fight module 114 also updates characteristics 22 for each user 16 based on the results of the voting, such as the number of wins and loses for each user 16, the number of votes that user 16 has won or lost by, and other suitable characteristics of user 16 associated with fantasy fights 140.
Next, at block 214, the results are sent to judges 154 and competitors 156 and may be made available to other users 16. The results may be sent using any suitable technique, such as email, a web page, an instant message, a fax or a phone call. The results may indicate judges 154 who voted and their associated votes, or may exclude all or various portions of judges 154 who voted and/or their votes. The recipients of the results may be configured by organizer 152 to include all or any portion of the users 16, non-users, judges 154 and competitors 156.
Then, at decisional block 216, fantasy fight module 114 determines whether additional rounds of voting are to occur. If more rounds are to occur, the YES branch of decisional block 216 leads to block 208 and judges 154 are notified of the next round of voting. If no more rounds of voting are to occur, then the NO branch of decisional block 216 leads to the end of the method. In one embodiment, decisional block 216 is used to notify judges 154 of additional rounds of voting when organizer 152 has indicated that the results of each round are to be determined before the next round of matchups is sent to the judges 154, as opposed to having all of the judges 154 vote on all of the rounds independently of each other.
Although the following describes example apparatus and systems including, among other components, software and/or firmware executed on hardware, it should be noted that such systems are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these hardware, software, and firmware components could be embodied exclusively in hardware, exclusively in software, or in any combination of hardware and software. Accordingly, while the following describes example apparatus and systems, persons of ordinary skill in the art will readily appreciate that the examples provided are not the only way to implement such apparatus and systems.
Further, although the functions of the system described herein are described herein as being implemented primarily as software, some or all of these functions may be implemented in hardware, firmware, etc. Thus, the fantasy fighting system and technique described herein may be implemented in a standard multi-purpose processor or using specifically designed hardware or firmware as desired. When implemented in software, the software routines may be stored in any computer readable memory such as on a magnetic disk, an optical disk, or other storage medium, in a RAM or ROM of a computer or processor, etc. Likewise, the software may be delivered via any known or desired delivery method including, for example, on a computer readable disk or other transportable computer storage mechanism or over a communication channel such as a telephone line, the Internet, etc. (which are viewed as being the same as or interchangeable with providing such software via a transportable storage medium).
Thus, while the present invention has been described with reference to specific examples, which are intended to be illustrative only and not to be limiting of the invention, it will be apparent to those of ordinary skill in the art that changes, additions or deletions may be made to the disclosed embodiments without departing from the spirit and scope of the invention.