US20060258463A1 - System and method for network interactive game match-up and server selection - Google Patents

System and method for network interactive game match-up and server selection Download PDF

Info

Publication number
US20060258463A1
US20060258463A1 US11/434,314 US43431406A US2006258463A1 US 20060258463 A1 US20060258463 A1 US 20060258463A1 US 43431406 A US43431406 A US 43431406A US 2006258463 A1 US2006258463 A1 US 2006258463A1
Authority
US
United States
Prior art keywords
match
player
game
server
game hosting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/434,314
Inventor
Jared Cugno
Amir Haleem
Jack Skeels
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Professional Interactive Entertainment Inc
Original Assignee
Professional Interactive Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Professional Interactive Entertainment Inc filed Critical Professional Interactive Entertainment Inc
Priority to US11/434,314 priority Critical patent/US20060258463A1/en
Assigned to PROFESSIONAL INTERACTIVE ENTERTAINMENT, INC. reassignment PROFESSIONAL INTERACTIVE ENTERTAINMENT, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CUGNO, JARED, HALEEM, AMIR, SKEELS, JACK
Publication of US20060258463A1 publication Critical patent/US20060258463A1/en
Assigned to SEWANEE PARTNERS III, L.P. reassignment SEWANEE PARTNERS III, L.P. SECURITY AGREEMENT Assignors: GLOBAL GAMING LEAGUE, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/795Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
    • A63F13/12
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/531Server assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5566Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by matching opponents or finding partners to build a team, e.g. by skill level, geographical area, background, play style
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/558Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by assessing the players' skills or ranking
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5593Details of game data or player data management involving scheduling aspects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time
    • A63F2300/636Methods for processing data by generating or executing the game program for controlling the execution of the game in time involving process of starting or resuming a game

Definitions

  • the present invention relates to internet gaming and more specifically to a method and apparatus for matching players of a particular interactive game on the internet, using one or more applications in several formats, including: a challenge and acceptance format, an immediate match-maker format, an intelligent match-maker format or other formats and providing continually updated statistical analysis for the games and the individuals involved in the match.
  • This invention improves on the prior art by combining the many desperate elements into a single simple interface, including the option to challenge individuals and the option for those individuals to be immediately put in-game by the method of this invention in order to determine a winner. Further, the capability to find, quickly and effectively, the an optimal game server, based upon criteria established by the user or users available to each user involved is novel and nonobvious. Finally, capturing statistics, behavioral patterns, playtimes, playstyles, abilities, skills, user-defined data and other relevant player and game-related data and tracking this diverse data set in real-time for player (or teams of players).
  • player may be used interchangeably with “team of players,” “teams of players,” “group of players” or “groups of players.”
  • the capture and use of this data in ranking and in the various match-making methodologies when combined with the prior elements of this invention is novel and nonobvious.
  • a method and apparatus are described whereby a user of the invention may challenge an individual (or team) to a game, an automatic match may be made using various methods or intelligent match-making using various criteria, which the individual (or team) may accept.
  • the invention will aid users in finding an optimal server upon which each player is able to play based upon user input, automatically or based upon a data set built by the system and method of this invention.
  • the game parameters are set by the invention, the game is then launched and played, various types of game and player-related data is tracked and recorded, and each player's (or team's) data is then stored for later use in analyzing the player (or team) for future matches.
  • a new ladder or game ranking of the player (or team) is made based on this data, relative to all other players in the ladder or game.
  • FIG. 1 is a depiction of the foyer page of the method and apparatus of this invention.
  • FIG. 2 is a depiction of an eight versus eight team lobby or pre-game holding area
  • FIG. 3 is a depiction of a ladder lobby for a four versus four game.
  • FIG. 4 is a depiction of a team ladder pre-game holding area.
  • FIG. 5 is a depiction of a dialog popup for forfeiture of a match.
  • FIG. 6 is a depiction of a dialog popup for reporting a no-show match participant.
  • FIG. 7 is a depiction of a dialog popup for a private message sent to a user.
  • FIG. 8 is a depiction of a team ladder start sequence.
  • FIG. 9 is a depiction of a team four versus four lobby.
  • FIG. 10 is a flowchart of the steps involved in a challenge and acceptance match-up.
  • FIG. 11 is a depiction of a team four versus four lobby depicting a user's profile.
  • FIG. 12 is a depiction of a dialog popup for a challenge issued by a user.
  • FIG. 13 is a depiction of a one versus one pre-game holding area.
  • FIG. 14 is a depiction of a dialog popup for a challenge rejection to be rescheduled at a later time.
  • FIG. 15 is a flowchart depicting the steps involved in a “play now” match-up.
  • FIG. 16 is a flowchart depicting the steps involved in an “intelligent” match-up.
  • FIG. 17 is a depiction of the server and client architecture of the preferred embodiment.
  • the present invention connects players who desire to play network computer games with each other.
  • a webpage is used, whereby users are able to login, using a user-selected user identification and a user-selected password.
  • Methodologies to connect to a customized webpage (or other network-accessible interface) are common in the art and will not be described in great detail so as to avoid confusion over the scope of the present invention.
  • the means by which an individual may select a username and password are implemented using traditional web database methodologies and algorithms.
  • elements that are unique to the present invention include the setting of “available times” during which a user may be challenged to a game or may be automatically or intelligently set up for a match.
  • time may be further sub-divided by type of game, if desired. For example, and individual might set as available playtimes times from 2:00 pm-6:00 pm each day. If the online during those times, individual is are available for challenge or for team play. Alternatively, a user may be available from 2:00 pm-4:00 each day for one type of game as, for example, single player match-ups; where from 4:00 pm-6:00 pm each day his or her team is available for a particular type of game only and only as a team.
  • FIG. 1 is an example of such a webpage, though numerous differing versions of this webpage and all other interfaces described herein are available while still accomplishing the goals of this and other web pages.
  • This webpage provides various forms of information to the user.
  • hypertext links to numerous sections of the website will be provided, such as forums, news, and other data about games and the individuals active on the game server.
  • a web foyer as depicted in FIG. 1 , appears which includes games for which the user is involved in a ladder, league or other competition structure.
  • element 100 is the ladder for Battlefield 1942® 8 versus 8 “Deathmatch.” Multiple competitions structures may be presented for each game, such as the two game ladders depicted in element 102 . There may also be various tournaments and leagues to which a user may subscribe or in which to participate. If one has already scheduled a match in a particular ladder and the time for commencement of that match is near, a button or link similar to the one depicted in element 104 may be shown. Clicking this button or link will bring up the match lobby for that pre-scheduled match.
  • the server which hosts these ladders, leagues, match-ups and tournaments in the preferred embodiment is a web server.
  • This web server is connected, in the preferred embodiment, to a chat/lobby server.
  • the chat/lobby server's responsibility is to match up players once they have chosen to challenge each other, be available for match-up or to take part in a ladder, league or tournament.
  • the chat/lobby server is connected to the client software on each individual's computer and is capable of accepting direction from the client software concerning potential match-ups for games, then assists in game server selection on which the player will play those games, launches the game server with the proper parameters and instructs the client software to launch the client game software and connect to a particular server to begin the match.
  • some games for which this methodology can be used will not use independent game servers.
  • one of the two (or more) clients is used as a server, to which all other users connect before the match is played.
  • the system and method of this invention may be used in those situations, whereby the word “game server” will refer to one of the client computers chosen to act as the “server” for that game and to which the other client computers will connect.
  • chat/lobby server's operation in the preferred embodiment will be described in greater detail in subsequent paragraphs.
  • Competition structures include team and single player ladders, team and single player leagues, team and single player real-time match-ups (both intelligent/criteria-based match-ups and immediate match-ups), team and single player tournaments, team and single player practice matches and numerous other game and match-up formats.
  • Leagues are similar to ladders, except they are typically more structured, requiring a series of games to be played at set times over the course of a series of weeks or months. At the end of a “league,” the top players may be awarded or may be “seeded” in a final League Tournament.
  • Match-ups of all types are typically more fluid and subject to ongoing competition.
  • a ladder is a ranking system for determining an order of skill for online players as they play. Ladders have been employed in multiple types of games, including traditional sports teams and have been imported, more recently, into the interactive entertainment field.
  • the user is a member of six ladders, one of which is depicted in element 106 , “Battlefield 1942 8 versus 8 Deathmatch.” Additionally, more detailed data may be displayed, such as player ranking on those ladders. This data is retrieved from a database of player data maintained on a server available to the webpage.
  • data is displayed detailing the number of players currently logged on who are members of the particular game's ladder (or other competition structure), an example of which is shown in element 108 .
  • Numerous other types of data are stored for every team or player using the system and method of this invention.
  • tournament-style play Single and double elimination tournaments for each type of game and player match up (i.e. one versus one, four versus four, free-for-all, etc) may also be constructed.
  • the individuals in these tournaments will login to the match server and their tournament schedule for the day or week will be displayed. They may have a certain window, for example three days, in which to play a particular game versus someone else in their bracket.
  • the tournaments in the preferred embodiment are set up among players of similar skill, typically from players in the higher-rankings of the ladders of each type of game.
  • League play results in a group of individuals or teams of the same type in the same game all playing each other or most of each other at least once. The team with the best record at the end of the “season” is the league winner or may be seeded in a league tournament.
  • the web site is also capable of use as a team-creation mechanism.
  • a logged-in user may create a “team” for a particular ladder or tournament.
  • the user selects options that enable the team-creation functionality.
  • the user enters details about the team, such as a team name, logo, profile and the type of ladder(s) or tournament(s) in which the team wishes to compete.
  • the name of an example team is visible in element 114 .
  • the logo of an example team is visible in element 116 .
  • team membership may be requested by selecting usernames, example usernames of individuals already in the selected team are visible in element 118 , or by typing them into a list.
  • the individuals associated with the usernames will receive an email or pop-up message (if they are currently logged into the client software) requesting their approval for inclusion in the team.
  • the individual is then able to challenge, be challenged, or participate in ladders, tournaments and leagues as a team member.
  • join passwords may be provided to individuals prior to the creation of a team and individuals may join the team through their own action, once it has been created, using the join password.
  • Teams may be subdivided into multiple squads, organized by the team leader.
  • a team leader is the creator of the team at the start, but may be changed once the team has been created.
  • Team management into squads (sub-groups of teams) may be arranged and managed by team leaders or squad leaders. The capability to determine available play-times and other team attributes may be set by the team or squad leader depending on the management settings set by the team leader.
  • a team may participate in different ladders, tournaments or leagues for different games or types of matches for each game.
  • the competition structures visible to an individual or team may be further subdivided by type of game play. For example, for a particular type of game, there may be competition structures for individual one versus one play, team four versus four play or squad eight versus eight play, as seen in FIG. 1 , elements 100 , 110 and 112 .
  • the types of ladders, leagues, instant match-ups or other competition structures available to an individual to subscribe to will largely be dictated by the type of game for which the structure is created. Some games may be capable of large-scale numerous connections, while others may only allow connections for one versus one play.
  • the competition structures will be created and monitored by individuals involved in the administration of the site.
  • Each of the competition structures for example the one versus one ladder for a particular game, will have “lobbies.”
  • An example lobby is depicted in FIG. 3 .
  • a lobby for individuals simply waiting to play any game generally. These individuals may be members of multiple competition structures, but wish to await a challenge or match-up to any type of game for which they are a member of a competition structure. These lobbies are waiting areas for individuals to join in anticipation of playing that type of game versus other individuals.
  • a user may always change lobbies simply by clicking a button, an example of which is seen in element 126 and selecting a new lobby. Additionally, a user may be in any number of multiple lobbies at any given time.
  • the user may wish to be available for any number of competition structures awaiting a match. For example, all individuals wishing to play a four versus four team game of Unreal Tournament 2003® will be logged into the lobby for that game. In a particular game-type's lobby, individuals will be able to see the usernames of other individuals in the lobby waiting to play. In FIG. 3 , element 120 , the users in the ladder lobby for Unreal Tournament 2003® are shown.
  • the individual usernames in the preferred embodiment, will also be able to be selected and various operations may be performed by an individual selecting another individual's username. For example, the individual may see the user's record on a particular game, as seen in element 122 .
  • a user may see the ladders which a particular user is subscribed to, as seen in element 124 .
  • the individual may see an entire team or squad's record and profiles by clicking on an individual member of the team in, for example, a lobby dedicated to a particular game with a four versus four or eight versus eight format. They may seek to see the individual's overall profile.
  • This profile in the preferred embodiment may included data such as the individuals overall ranking on each competition structure in which they take part, the individual's record of wins and losses, kills and deaths, and other relevant statistics.
  • the profile may also include data such as location, hobbies, user description, or other relevant information, depending upon the user's input.
  • visible data and other player and game-related data may be used to generate more subjective information.
  • This profile could include prior ratings or write-ups about that player, either by the individual user, the player or other users.
  • the profile could also include criteria, based upon relevant data, concerning the likelihood that the user and that player are a “good match” for a game, as individuals being of similar skill, playstyle, ability, record or other subjective criteria. Several pieces of these data are visible in element 122 . A more detailed profile is available by selecting to view a user's profile.
  • the lobby for a particular game is launched by clicking the link for the game and type of play, such as Battlefield 1942® 8 v 8 Deathmatch depicted in element 100 .
  • an application is launched from within the web-browser in the preferred embodiment.
  • the main or “general” lobby may also be started in much the same way by clicking on a link dedicated to a general lobby, in the preferred embodiment detailing the total number of users logged into the general lobby.
  • the entire application may be stand-alone, requiring no web-browser portal for login.
  • the entire application may be web-based.
  • a java applet is launched by clicking on the link to a particular ladder.
  • the java applet is responsible for most of the interaction between the client computer and the various server computers and other client computers.
  • This applet unless otherwise described will be referred to as the client software.
  • the client software in alternative embodiments, may be stand-alone software, completely web-based or built-into the network software of various games.
  • the java applet is only the preferred embodiment of the client software.
  • a java applet window appears.
  • FIG. 4 an eight versus eight team ladder lobby or pre-game holding area that appears when a ladder lobby is selected is depicted.
  • Lobbies are available for every type of competition structure described above.
  • a ladder lobby is used here only for descriptive purposes. In other lobbies, much of the same types of actions are available and much of the same data is displayed to the user.
  • the title of the lobby is displayed as shown in element 128 , the usernames of individuals currently viewing that lobby is displayed and a chat window is displayed in element 130 . For example, in FIG.
  • the ladder lobby title, depicted in element 128 is Battlefield 1942® 8 versus 8 Deathmatch. All individuals present in the lobby are depicted in the non-focused tab “in this room” tab shown in element 132 . Also show is a focused tab for a buddy list in element 134 .
  • This buddy list contains the names of individuals whom the user has flagged as buddies.
  • the user's current rank, wins and loss record for the current ladder lobby are displayed as in elements 136 and 138 , the number of challenges denied and any winning or loss streak.
  • a subjective ranking of the match-up between the two players is included in the preferred embodiment.
  • additional information may be displayed, such as age, location and time zone that the user has chosen to input into their profile.
  • a user may view an individual's full profile, in the preferred embodiment, by right clicking on that individual's username and selecting “view profile.”
  • a full version of a user profile is displayed including the competition structures to which that individual belongs and the records, ranking, current streak, challenges denied and other relevant data, as described above, usually dependent upon the game, for each competition structure.
  • the profile is displayed in a normal web page window using the web browser.
  • the java applet may display the profile.
  • the competition structure's lobby may be used as a pre-waiting area before a game is launched or a challenge is made.
  • the user may be waiting in multiple lobbies simultaneously, so as to be available for multiple types and formats of games. This can serve to increase the likelihood of finding a match more quickly.
  • a user may “chat,” communicate via typed messages, with other individual's in that lobby. This functionality is depicted in the chat window 140 and the chat input box 142 .
  • a user may simply review the individuals who are present in the lobby by viewing a tab entitled “in this room,” depicted in element 132 . This tab will have a top to bottom scrolling list of the usernames of all individuals in the lobby.
  • Some users may have “guild” or “clan” tags on their usernames. These tags are special monograms or other identification associated with the username, to identify those individuals as being a part of the guild or clan. Text chat will appear in another scrolling window with the option for the individual user to add his or her input, such as depicted in elements 140 and 142 .
  • the competition structure is a group competition structure, such as two versus two or four versus four ladder matches, the lobby may also serve as a waiting room in which to wait until all the members set to play each other at a certain time arrive.
  • the ladder lobby depicted in FIG. 4 is being used as a pre-game holding area.
  • Another functionality of the invention is to allow the scheduling of matches between individuals or groups for a time at some point in the future. These matches may be set up during the “challenge” dialog, through a “challenge later” dialog, through direct contact between the parties, through an automatic match-up for a later time, through “automatic” weekly or monthly scheduling as a part of a tournament or league, set up using the website or numerous other methods.
  • exit/forfeit button 146 used to leave the lobby and forfeit the match.
  • the exit/forfeit button 1346 allows an individual to leave the match, but at the cost of forfeiting the match. Should a player for one side or one of the individuals in a scheduled match fail to check-in during the alloted time frame, the match will be automatically forfeited.
  • the results of clicking the exit foreit button 146 are shown in FIG. 5 .
  • the user will be presented with a popup box where element 152 is a “Yes, Forfeit the Match and Quit Application,” element 154 is a “No, Exit the Application, I will be back for the Match” and element 156 is a “Cancel” button.
  • Forfeiting will affect the individual or team's record and ranking, but will enable an individual to leave who must immediately.
  • the results of clicking the “report no-show” button are depicted in FIG. 6 .
  • the user is present with a dialogue box that asks, in element 158 , “Are you sure you that your opponent is a no show?” This is an attempt to avoid reporting no-shows before they really are no-shows. Additionally, the clicking of this box is logged, along with all of the individuals present in the room when this box is clicked. This may be used later to decide, if questioned, if there really was a no-show situation. This is because no-show situations affect ranking and ladder statistics.
  • the choices are “yes,” shown in element 160 , and “no”, shown in element 162 .
  • the rules/help functionality will bring up a dialogue box that will display various match-related criteria such as the match setup, the game to be played, the map on which the match will be played, the number of participants, the game type (two versus two, team, free-for-all, one versus one), and any custom rules dependant upon the game itself.
  • match-related criteria such as the match setup, the game to be played, the map on which the match will be played, the number of participants, the game type (two versus two, team, free-for-all, one versus one), and any custom rules dependant upon the game itself.
  • These criteria may include options such as: friendly fire enabled (the ability to inadvertently harm one's team members), time, frag (number of kills by an individual or team of another individual or team) or flag limits or abilities or options that will not be available to the players.
  • server-selection criteria such as a subjective “quality” of the server, server load, latency maximums for all players or other server-related criteria.
  • a “check-in” system is employed for pre-scheduled maps prior to entering the pre-game holding lobby.
  • the check-in system as each player arrives, up to thirty minutes before a scheduled match in the preferred embodiment, they can check-in to the match to be played. Once all the players are checked-in for a match, it will begin at the scheduled time. Checking in is done using the “ready” button 144 , shown in FIG. 4 . Additionally, the internet protocol address of the checked-in player will be logged to help insure against the possibility of another player logging in on behalf of a player involved in the match. This will aid in combating potential cheating in the game by having another player play for one or more of the individuals involved in a particular match.
  • FIG. 7 depicts an individual one on one message between users.
  • the dialog box depicted may be created by double clicking on a username anywhere in the application or by double clicking on usernames listed one's buddy list 134 or in this room 132 tab.
  • This dialogue box enables private messages to a single individual to be sent.
  • the individual to whom the message is sent is show in element 164 and the text to be sent is depicted in element 166 .
  • the “send” button 168 will send the desired text and the cancel button 170 will not send the text and will close the dialogue box.
  • match-up methodology is the “challenge and acceptance” methodology, whereby one player selects another player and “challenges” them to a match.
  • Another methodology, described below, is the “play now” methodology.
  • the software's capability to view past statistics and data is used to find a “good” match-up automatically for a user.
  • Another methodology is to allow the user to intelligently choose a match, based on various criteria. The software may then search the available players for an opponent meeting those various criteria.
  • methods available such as “scrimmage” now or predetermined scheduled matches also available to the user. The three methods described below are only for purposes of illustration.
  • a lobby may also used as a “staging area” for challenges.
  • a challenge is one example of the way in which a match may occur. It is only one of several methods of taking part in various competition structures or match-ups.
  • a challenge within a lobby may be initiated by a single individual in the case of lobbies dedicated to one versus one play or by a “team” or “squad” leader in lobbies dedicated to four versus four or other team-oriented play. Challenges are real-time requests for a match between two individuals or teams.
  • a challenge may be initiated by right-clicking on a username and selecting “Challenge Now” or alternatively by highlighting a user's name and clicking the challenge now button, seen in element 178 , that appears on the main interface of the ladder lobby. Additionally, if a highlighted individual username is a member of a particular ladder, the user may click a button to join that ladder, seen in element 180 , and to become available for challenges on that ladder during available times. The user may also choose to challenge later, by clicking on the button in element 182 . This button may be used to set up challenges at a later date.
  • FIG. 10 a flowchart of one embodiment of a match-up, called the challenge and acceptance play sequence is depicted.
  • an individual or team joins a particular lobby or ladder, as shown in element 182 .
  • An individual or team captain may then select an individual or group to challenge, shown in element 184 .
  • the user challenges the individual or group, as shown in element 186 , using a method described more specifically below.
  • the challenged individual now is presented with three options of acceptance. First, they may decline, which will return the challenger to the step depicted in element 188 , select an individual or group to challenge. If the user declines, they may select to schedule the match 190 for a later time.
  • This option may be used when the current time is inconvenient for the challenged individual or group.
  • the individual or group may accept the challenge immediately 192 , which will cause them to enter the pre-game holding area 194 .
  • the match will be set up 196 , using a procedure more fully described later, but summarized in elements 198 through 204 .
  • the game servers there are many in the preferred embodiment, throughout the world, ping the clients 198 .
  • the game server is selected 200 using predetermined criteria, including the ping times from the clients, as described more fully below.
  • the players join the game server 202 , based upon those criteria, automatically.
  • the match is played by all players, with statistics and data about the match being stored 204 .
  • the ladder ranking and statistics are updated 206 using the new data.
  • UT2K3 Team 4v4 Ladder Lobby is depicted.
  • UT2K3 is Unreal Tournament 2003®, currently a popular multiplayer game. In the preferred embodiment, numerous games will be available, including newer games as they are released.
  • the lobby has numerous people in it, depicted in the “in this lobby” tab 208 on the right. When no user, or when one's own username is selected in this menu, one's own ladder and match information is displayed.
  • user information may be depicted, such as in element 2
  • upcoming matches may be depicted, such as in element 21
  • current ladders of which one or one's team is a part of may be depicted as in element 21 .
  • users may view chat in the chat window 216 or input chat into the chat input box in element 218 .
  • one may challenge another or a group from this lobby.
  • the potential rankings are based on the possibilities available to the individual. If the user accepts the challenge and wins, a certain ladder ranking will be awarded. This information is displayed along with the potential ranking if the user accepts and loses or if the user simply rejects the challenge.
  • a ladder competition structure is shown here for simplicity, but various other types of structures offer similar functionality. For example, if this were a league lobby, instead of depicting potential ladder rankings dependant upon the outcome of the match, the next match-up, the potential league rankings or “advance to the nominees” would be displayed.
  • the user may “challenge” another individual whose username is visible to a game of the type of the lobby that they are in or to any other competition structure type in which they are involved along with the user.
  • the individual may be limited in terms of his ability to challenge by several factors. For example, the user may not be “available” for challenge at that point, one of the numerous settings the user may input as he sets up an account. If the individual happens to be on at times other than the “available” times, the user may or may not be penalized for not accepting a challenge. In the preferred embodiment, the user is not penalized for failing to accept a challenge during time designated as “not available” for play.
  • the challenged individual may choose one of three options in response to the question “do you accept this challenge?” as shown in element 228 .
  • Option one is to accept the challenge now, as depicted in the button denoted in element 230 . This means that as soon as all challenged individuals (more than just the challenger and challenged if it's a team-based or group challenge) are present, the match will begin.
  • the challenged may choose to reject the challenge, as shown in the button denoted by element 232 . Using this option, the match will not start, but the individual may take a small loss in ranking, as shown in element 226 , due to the failure to accept a challenge from someone.
  • the user may accept the challenge, but set it up for a later date, as shown by the button denoted by element 234 .
  • This third option does not cause a loss in the challenged ranking, but brings up a further text box, denoted by element 236 , whereby the challenged and challenger may set up a time at a later date when they will both or all (in the case of team or group matches) be available for a match.
  • FIG. 13 a pre-game holding area for a one versus one challenge game is depicted.
  • the challenged individual or group has accepted the challenge or all individuals for a pre-scheduled challenge or match have arrived in the lobby, the individuals are moved to a pre-game holding lobby for their game.
  • there are only two participants in the game whose usernames are depicted in element 238 .
  • the details of each individual or each team including: records, statistics, wins losses, type of connection to the internet and location are displayed in elements 240 and 242 . These are selected details from the individual's or group's profile.
  • the window itself is very similar to that of a lobby, except that only individuals about to enter a particular game are within the lobby.
  • a display similar to the one depicted is presented to the challenger.
  • a dialogue box containing text informing the challenger that the challenged individual has rejected the challenge is shown, as in element 250 .
  • a text box containing the reason the challenge was rejected as input by the challenged individual or team as shown in element 252 .
  • the challenger has but one option, “ok” as shown in element 254 .
  • the match will be scheduled, based upon available playtimes of both individuals or teams.
  • the first step is for a user to login to the webpage. This is done using typical login algorithms standard in the art.
  • the competition structures are displayed in which that user participates. So, for example, Battlefield 1942® 4 v 4, Counter-Strike®: Source 8 v 8 and Warcraft® III 1 v 1 may be displayed as ladders which this user participates.
  • the user may then select one of those competition structures, such as Battlefield 1942® ladder by clicking on it.
  • the java applet is launched and the ladder lobby for Battlefield 1942® is displayed. This lobby will have a text box, the user's buddy list, a list of individuals in the room. It will also have the option to challenge any four-person group (this is a 4 v 4 ladder) to a match.
  • the user may see a group of players who he has played before or who he knows is well-ranked.
  • the user may view the ranking of those players by highlighting their names in the “In This Room” section of the lobby. When this is done, their profile as a team will be displayed. Their ranking may be number 15 overall in this ladder, whereas the individual's team, who are all currently present, may be ranked 24 .
  • the user may then challenge that team by highlighting one person's name and selecting “challenge” either as the button or by right clicking on a name and selecting “challenge” in the menu that appears.
  • the challenged may review the challenge window that appears on the challenged client software.
  • This window will contain the opposing team's profile, their current ranking of 25 , the ranking results of potential outcomes.
  • the dialog may display that if they refuse the match, they will be ranked 16 , if they accept the match and lose the match, they will be ranked 17 . If they accept the match and win, they will be ranked 14 . This individual, may immediately accept the match or may schedule it for another date.
  • the challenged individual accepts the match immediately on behalf of the team being challenged.
  • the challenger and challenged are then “moved” to a pre-game holding lobby.
  • the profiles of the team, including the rankings are displayed for both parties.
  • the parties may chat while they await the arrival of all eight players. Once all eight players have arrived, the “ready” button will be available. Once all eight players have clicked the button, the match will be ready to commence.
  • FIG. 15 a flowchart depicting the steps involved in a “play now” match-up are depicted.
  • This is another type of match-up available to players in any lobby at any time.
  • the first step is for a player to join a lobby 256 .
  • a player may select a button entitled “Play Now” (or perform other similar action) 258 .
  • prior matches and team play in the particular competitive structure such as a ladder or team play
  • a player (or team) of similar skill will be automatically found based upon various criteria, including ranking, prior match-ups, recent play, playtimes, and numerous other criteria.
  • a group of other opponents who have selected “play now” or who are otherwise available for play are searched for a “good” match 260 . Then an opponent (or opponents depending on the game) is automatically selected based upon those subjective criteria 262 .
  • the optimal server is found for the players 264 , including a determination of latency and based upon other player-input criteria such as server type, bandwidth, availability or server quality rating.
  • the match is automatically set up 266 using one of the methods described above.
  • the match is played and the data described above is generated and stored 268 . This data is used to update the database of data, profiles and other rankings in a manner similar to that described above 270 .
  • FIG. 16 a flowchart depicting the steps involved in an “intelligent” match-up are depicted.
  • This is yet another type of match-up available to players in any lobby at any time.
  • the first step is for a player to join a lobby 272 .
  • a player may select a button entitled “Find a Match” (or perform other similar action) 274 .
  • data pertaining to prior matches and team play in the particular competitive structure (such as a ladder or team play) will be used, by the user, to select or narrow choices down to a match between players.
  • this match-up type once the user presses the “Find a Match” button, he or she is presented with a dialogue box containing several suggested match-ups based on the data provided and the other players currently in the lobby or otherwise logged into the system. Next, the player is presented with numerous characteristics and criteria 276 , in the preferred embodiment presented as drop-down menus whereby the player may select characteristics such as game type, player ranking ranges, winning percentage of opponents or any other objective or other criteria such as a subjective “good match” as determined by an algorithm using the available profile data in the database. The user then narrows his or her player-selection criteria 278 .
  • An opponent meeting those criteria will be found 280 who are available for play and a match will commence if that player or team accepts the match 282 .
  • the match will be played and data generated and stored 284 .
  • the data, profile and rankings will be updated using this newly-generated data 286 .
  • An intelligent match-up may also be made by means of a “standing order” to find “good” matches issued by the user, such that when that user logs in, based on his or her profile and other data, in conjunction with the profile and other data associated with other players a “good” match-up may be suggested by the software when that player or team first logs into the client software.
  • the client software 288 is made up of the lobby software or client software 290 and game client 292 running on an individual's computer. Typically, many individuals using the client software 290 will be logged into a single chat/lobby server. Many lobbies exist for any number of game types, in the preferred embodiment, on multiple chat/lobby servers.
  • the client software 290 is responsible for displaying the lobbies and pre-game waiting rooms, providing an interface from which to chat, maintaining a list of “buddies” and displaying profiles.
  • the client software 290 is also used to communicate when individuals are ready for matches to begin and to send and accept challenges from other players, including the option to set up challenges for the future, and to setup or accept other match-ups.
  • the client software 290 also determines an individual's ability to be involved in a particular game ladder, by checking to see if the individual has the current game client 292 software for that game. Once a challenge has been accepted or a match otherwise begun, the client software 290 also is responsible for launching the game client 292 software on the individual's computer, for example, the Battlefield 1942® executable file.
  • the client software 290 uses the proper arguments (commands given to the software at startup) to launch the game and to connect it to the selected game server 300 for the match.
  • the chat/lobby server 294 is responsible for allowing multiple client softwares 258 to connect, chat, schedule matches, initiate criteria-based match-ups or automatic match-ups, challenge each other and to maintain a database of scheduled matches and profiles.
  • the chat/lobby server 294 also maintains in a database, such as the one depicted in element 302 , including competition structure rules, members, player and game-related data, rankings and player and team profile data including requirements for involvement in a particular structures.
  • the individual and team profiles, as described above, will also be maintained, in the preferred embodiment, on a database server 302 .
  • the database server 302 will maintain information for each user, the competition structures they participate in, and other relevant information pertaining to the user.
  • the database server 302 may also houses a list of game servers, one of which is depicted in element 300 , on which matches may be played. In the preferred embodiment of the invention there are multiple game servers housed in numerous places throughout the world. This will enable the chat/lobby server 294 to select the optimal game server 300 for two individuals to play.
  • Game hosting servers 296 each capable of hosting multiple game servers 300 (of which there are many different types) may be found or allocated using numerous methods.
  • game servers 296 may be pre-selected always-running hardware located in strategic places around the United States or the world.
  • strategic place being a place in the midst of numerous potential player locations such that latencies will be low for players in that area (latency and game server selection is discussed below).
  • game hosting servers 296 may be individual user servers with an additional piece of software running such that they “inform” the chat/lobby server 294 that they exist. These servers would, typically, be less favored as they may not provide the best and most accurate game conditions for high-level competition. In situations in which valuable prizes would be awarded, these servers would, often, not be the first choice for matches.
  • the game hosting servers 296 would work in a peer-to-peer fashion.
  • Peer-to-peer networking has become very popular in recent years in the art. The general idea is to allow the network itself to do the work which has typically been assigned to a single server (or cluster of servers). This provides several benefits.
  • using peer-to-peer technology lets computers solve their own problems. If peer-to-peer technology is used, the software maker need not worry about server uptime as much, since the network of client software is typically, in the art, responsible for making most decisions.
  • peer-to-peer technology is less expensive to maintain.
  • the server software and server framework in a peer-to-peer situation need not be as robust as the usual server/client model common in the art. Because the server in the peer-to-peer technology is responsible for less of the work than it would be, were the client softwares not being used.
  • VoIP Voice Over Internet Protocol
  • This software has peer-to-peer clients locating each other and helping to forward calls along to each other. This lessens the bottlenecks of bandwidth which may occur if all of those VoIP calls were routed to a single location (the main server), then transmitted outward from there. If that were the case, large-scale VoIP might be impossible, but using the interconnection of the network itself, the bandwidth usage remains spread and the VoIP can be high-quality and fast.
  • the game hosting servers 296 each “bid” for the opportunity to host each game.
  • the game hosting servers 296 use a small piece of software that is always-running. This piece of software keeps track of the type of games the server is capable of hosting, the current “load” on the game hosting server 296 including the Central Processing Unit's (CPU) utilization, the network utilization and the potential load from prior or soon-to-start game instances.
  • This software also contacts all known chat/lobby servers 294 for matches which are or will soon be in need of a game server 300 .
  • the game hosting server 296 then requests that it be put in a “bid queue” for the chance to bid on upcoming matches.
  • the software on the game hosting server 296 is informed by a list maintained on the chat/lobby servers 294 of upcoming and pending games and will request to be put in the queue for a chance to “bid” for a given match.
  • the number of active “bids” for a match is limited, in the preferred embodiment to fifteen, so as to not “flood” the clients offline with huge numbers of ping requests when the latency-detection process is initiated (as described below).
  • those in the queue which meet the criteria are allowed to “bid” whereby their characteristics (if the user has selected to use any number of characteristics as limiting factors) are evaluated and they are asked to “ping” the client computer 288 who will be playing. They will then inform the chat/lobby server of these latencies and other characteristics. If the latencies are unavailable, the chat/lobby server may request that the client software 290 ping the game hosting server 296 instead.
  • the game hosting servers 296 are ranked using criteria, including player rankings as to their experiences playing on that server and using objective measures such as the server CPU load and the current and upcoming network usage. Also considered are the specifications of the game hosting server 296 and a server administrator set number of concurrent games or bids allowed.
  • chat/lobby servers 294 will continuously update a list of upcoming matches and matches waiting to be allocated a game server 300 .
  • the chat/lobby server 294 also manages the game hosting server 296 bid request, bid authorization, bid receipt and bid-ranking processes.
  • the chat/lobby server 294 maintains a database of the currently available game hosting servers 296 as they inform the chat/lobby server 294 of their availability for utilization and as they make bids.
  • the database would be housed on the database server 302 . This database would also maintain the player ratings of the game hosting servers 296 and other relevant data related to the game hosting servers 296 . In one embodiment, “better” rated or performing game hosting servers 296 may be awarded in some way by virtue of their being “better.”
  • One game hosting server 296 may be better-suited to host a game than other game hosting servers 296 .
  • the most important considerations for gamers may be the above described player ratings, the current network and CPU load on those game hosting servers 296 , the latencies of those game hosting servers 296 and other user-selected criteria.
  • the user may choose to only play on well-rated servers or to play only on servers in a particular region (the west coast or east coast or mid-west of the United States). Users may even select to play, only, on their self-hosted server. Any number of criteria may be considered or be selected to be required by a player or players involved in a given match. All of these factors will be considered against the currently “bidding” game hosting servers 296 . Once a group of servers has been selected using those criteria, if the users has selected to consider latency, the least latent of those servers will be selected by determining the latency of those servers using the following method.
  • chat/lobby server 294 then coordinates with each of the game hosting server 296 to determine the latencies of each of the game participants.
  • the chat/lobby server 294 requests that each of the available game hosting server 296 for the requested game perform a ping on each of the clients involved in the match.
  • the client software 290 may perform a ping on each of the game hosting servers 296 to determine the latency of each client and then report that to the chat/lobby server 294 .
  • a ping is a networking term that is well-known in the art.
  • this ping “bounces back” in a fashion similar to that of a SONAR ping.
  • the time at which the ping is sent is recorded by the first computer and the time at which the other computer's reply to the ping is received is also recorded.
  • the latency is very important to a user. The better the latency (lower latencies are better), the more responsive the online game is to the player's movements.
  • a very poor latency to a game server may result in a player's inability to control their avatar effectively and loss of a match or individual fight within the game.
  • Latencies are largely determined based upon the connections used by the computers at either end. The locations of the computers involved are also a very significant determinant of latencies. Two computers connecting to each other each in the same city will typically have very low latencies, assuming each has a relatively fast network connection to the internet. Two computers communicating with each other across the nation, for example, from New York to Los Angeles will have a higher latency than two computers both communicating in Los Angeles.
  • avid gamers desire latencies less than 50 milliseconds. As latencies get higher than 100 milliseconds, the ability to control the actions of the avatar in the match degrade, reaching near unplayability at a latency of somewhere above 300 milliseconds. However, the importance of the latency is largely dependant upon the interactivity and pace of the game being played. For some games, latencies over 2000 milliseconds (2 seconds) will not affect game play at all. Examples of these types of games are typical online games such as hearts, checkers and chess. However, the types of fast-paced action games being played using the method of this invention will be very dependant upon a good latency, for example of 50 milliseconds, if attainable, or less.
  • Additional criteria are used in selecting a server, such as the game hosting server's 296 CPU load, network utilization, upcoming (scheduled or allocated matches) network and CPU load and player ratings of the server created over time from player reviews. Once those criteria are met, latency is considered.
  • each player's latencies After a ping, are received by the game servers, they are forwarded on to the chat/lobby server 294 .
  • the chat/lobby server 294 then, using the ping and other criteria requested by the user (or automatically), determines which game hosting server 296 will is the optimal server for the individual's involved to play the match. This is done by comparing the two lists of latencies-one for each person. The list is first narrowed, in the preferred embodiment, by finding all latencies for both parties for each game hosting server 296 that are within 15 milliseconds of each other. In other embodiments, particularly where latencies are not as important, larger latencies may be used.
  • This concept may be understood more fully through the use of an example.
  • an assumption is made that the four challengers in each group are in one room, connected to one network connection. This allows us to assume that their latencies to a particular game server are the same or substantially similar.
  • the challenger team is in Los Angeles, Calif. and the challenged team is in New York, N.Y. Both have agreed to a match and all parties have shown up at the proper time or the challenge has been accepted in real-time.
  • the chat/lobby server 300 software accesses its database 302 to determine the potential game hosting servers 296 for that type of match. In the preferred embodiment of the invention, numerous game hosting servers 296 for each type of game that a competitive structure has been created are available.
  • the chat/lobby server 294 then requests that each of those game hosting servers 296 on that list ping all of computers of the participants and record the latencies sent back. The recorded latencies are then forwarded back to the chat/lobby server 294 . The chat/lobby server 294 then performs the calculations necessary to assure both parties receive the best possible latencies for the match.
  • game hosting servers 296 there are numerous game hosting servers 296 available throughout the world so that any player may find a low-latency game hosting server 296 no matter where they are in the world and no matter who they challenge in the world.
  • One of the game hosting servers 296 in this example is located in Los Angeles, Calif. and the other game hosting server 296 is located in St. Louis, Mo.
  • the list of latencies received by the chat/lobby server 294 appears similarly to as follows: Game Hosting Server/Player Latency Table Game Hosting Player Group One Player Group Two Sever Location (Los Angeles, CA) (New York, NY) Los Angeles, CA 10 ms latency 70 ms latency St. Louis, MO 30 ms latency 36 ms latency Phoenix, AZ 20 ms latency 34 ms latency
  • the chat/lobby server 294 uses the algorithm described above to determine the optimum game server for both parties.
  • the first step is to narrow the list to one of only those game hosting servers 296 that have latencies within 15 milliseconds of each other. To do this the latencies are subtracted from each other as depicted in the following table: Game Hosting Server/Player Latency Table Player Player Group One Group Two Game Hosting (Los Angeles, (New York, Latency Eliminate ServerLocation CA) NY) Difference From List Los Angeles, CA 10 ms 70 ms 60 ms Yes latency latency St.
  • the Los Angeles, Calif. game server will be removed from the list of potential game servers because the difference in latency is greater than 15 ms as required in the preferred embodiment. In other embodiments, larger latency differences or smaller latency differences may be used, dependant upon the needs of the players being matched. Alternatively, differing “tiers” of latency differences may be used. If the 15 ms latency difference is unattainable, the software may seek latencies less than 30 ms difference, then 60 ms and so on until the smallest difference possible is achieved.
  • the next step is to review the data to determine, in the now-narrowed list, which two latencies are the combined lowest for the parties. To do this, the two (or more in other types of matches) latencies are added together to create a data set similar to the following table: Game Hosting Server/Player Latency Table Player Player Group One Group Two Chose Game Hosting (Los Angeles, (New York, Total This Game Sever Location CA) NY) Latency Server St. Louis, MO 30 ms 36 ms 66 ms No latency latency Phoenix, AZ 20 ms 34 ms 54 ms Yes latency latency
  • the chat/lobby server 294 is able to tell that the lowest combined latency is the game hosting server 296 located in Phoenix, Ariz. with a combined latency of 54 milliseconds. This game server is then chosen to be the game server for the match.
  • the chat/lobby server 294 communicates with the chosen game hosting servers 296 .
  • This communication is used to set up the match soon to start.
  • This communication is automated and is designed to set various settings prior to the start of a match. These settings are largely determined by two factors.
  • One factor is the game and ladder themselves.
  • the ladder that the players are involved in may have set rules, such as the four versus four player game required by the particular ladder in our example. Additionally, there may be certain other requirements based upon the competition structure or game, such as time limits or frag (as described above) limits that are required as a part of being involved in a particular ladder.
  • the other factor is the individual's launching the game themselves. To some extent, as the challenger challenges an individual, the challenger is able to set the parameters of the game, so far as they are allowed to be altered based upon the competition structure rules.
  • the chat/lobby server 294 Based upon the player selected criteria, including the latencies of the player and the customization potential of the matches for a particular type of game, the chat/lobby server 294 then sets all relevant settings including the map (the level on which the game will be played), the time limit, frag or flag limit, and other relevant game settings. The chat/lobby server 294 then starts the game server 300 with those settings. The chat/lobby server 294 then also, in the preferred embodiment, sets a password for the game server 300 . Only the chat/lobby server 294 knows the password and in the preferred embodiment, this password is not passed along visibly to the client software 290 . Instead, once the clients have clicked the ready button, the chat/lobby server 294 performs the functions described to set up and start the game server 300 .
  • the chat/lobby server 300 then forwards to the client software 290 for each individual involved in the map, the location (typically an internet protocol address), port (reference to a specific network port the game server is “listening” on for connections) and password that it has created for the match.
  • the individuals using the client software 290 never see, in the preferred embodiment, any of this information.
  • the user may be supplied with this information and may be able to connect manually or without a password at all.
  • the individuals involved in a pre-scheduled match may be emailed the password, internet protocol address and port for a game server to join at a scheduled time.
  • the client software 290 on each individual's computer launches the game client 292 software of each individual's computer and connects them to the proper game server 300 and port using the password supplied to the client software by the match software.
  • the game client 292 software on the individual's computer then starts, connects to the selected game server 300 on the selected port using the password as supplied. Once each individual is connected to the game server 300 , the match begins.
  • data is generated about the match. For example, as a kill is made by one individual or team, data about that death is generated. For example, for Battlefield 1942® data about which individual did what percentage of the damage to another individual in making a kill may be created. Also, data about which weapons were used in the kill by each player may be created. The time of the kill is likely logged. Throughout the game, as it is played, data may also be created such as percentages of attacks that landed or accuracy ratings for shooting in game. Titles may be attached to various activities, such as killing more than three individuals on the opposing team in a row may be dubbed a “killing spree” by a particular game.
  • Shields and buffs may be acquired. Additional weapons or upgrades may be acquired by the players. Goals or sub-goals may be accomplished in the course of the game. All of these events and happenings generate data that is or may be recorded. For some games or game types, the game may create logs of this information. In other games or game types, a program residing on the game hosting server 296 may record relevant information or additional information not otherwise recorded by the methods employed by the game. The data generated using either of these methodologies will be referred to in the remainder of this document as a “data log.” Finally, the data concerning which individual or team won the match and under what rule, such as a certain number of kills reached or having the most kills in a set time-period, is recorded. All of this data is or may be recorded by the game server 270 or recorded by other means and stored in data logs.
  • the chat/lobby server 294 requests that the data logs of the match be sent to the database server 302 .
  • These data logs are sent by the game hosting server 296 .
  • the preferred method of sending these data logs uses an FTP (File Transfer Protocol) client 298 .
  • FTP File Transfer Protocol
  • These data logs will contain a great deal of information about the match, containing some or all of the data described above along with additional data about the match and players that may have been recorded during the course of the match.
  • the database server 302 then compiles the data in these data logs and organizes the relevant portions of it for storage.
  • the database server 302 then compiles or to recompiles a profile for each team and individual including the newly generated data, prior data.
  • the most obvious statistics which may be generated from this data are number of wins and losses. Winning and loss percentages may be calculated.
  • the individual players may be ranked within a team based upon their number of kills in all matches combined or for a more recent set time-frame.
  • the most accurate shooting player on a particular ladder may be calculated from the database date for numerous games.
  • the “most deadly” player on a particular ladder may be calculated using various statistics stored in the database server 302 .
  • the chat/lobby server 294 and database server 302 are used, potentially in conjunction with additional servers, to calculate various additional statistics and some or all of these are made available to the public using one or more web sites to which all individuals on a given ladder login.
  • a record of every match played by each individual or team is recorded along with all relevant data. This data may be used to compile numerous other types of data and information, such as behavioral patterns, typical playtimes, player habits, player streaks or numerous other types of information.
  • This data and information is useful to the individuals on the ladder in comparing teams or individuals.
  • the data may also be used to create more sophisticated ranking systems whereby win/loss record may not be the only factor included in the rankings.
  • the data may also be used to more readily compare one individual player's contribution to the team or group situation than mere anecdotal evidence.
  • the rankings of the two individuals, two teams or group of individuals are updated. Generally, winning a match raises the ranking on the ladder and losing generally lowers the ranking.
  • win/loss record, number of forfeits, current points score (points being awarded for victories based upon the ranking of the individual or team defeated) and activity level (games being played weekly or monthly) are used to rank players or teams.
  • either side may post comments about the match, both to be included in the profiles of both teams or individuals and on the forums. These comments or ratings of the other players or teams may also be incorporated into the relevant data. They may also provide feedback about the match to administrators of the competitive structure. This information, if it arouses the suspicion of the administrator may result in a review of the match and an alteration of the scores or invalidation if the match is determined to be fraudulently undertaken or if cheating was used. This review process is useful for ensuring accurate statistics and rankings.
  • the capability to record and/or broadcast either via the Internet or via live or recorded television a match is also included.
  • the game server on which a match is played, for example, by two relatively-skilled teams may be monitored with software capable of “watching” the match in real-time.
  • This software may create a feed for live Internet or television broadcast.
  • the software may create a recording of a match from one or numerous players perspectives and save that file for later broadcast via the Internet or television.
  • users will be able to upload recorded portions or complete matches to a database server.
  • This recorded match will be stored in the database server 302 database along with the data and other statistics for that match to be included in the complete record of the team's match history and profile.
  • the profile, along with the statistics and any recorded or uploaded video or images from the match may be viewed along with the rest of the individual or team profile.
  • Administrators in this system may have varying levels of responsibility and access to portions of the site and to administrator capabilities. These range from being able to post responses on the forums to being able to create and manage groups of ladders, tournaments and leagues. Additional capabilities include the ability to remove users from the user-list, the ability to alter scores or revise scores based on user feedback or the ability to create content for the web site.

Abstract

A computer-based system and method of interactive game challenge and acceptance for finding an appropriate game server for one or more individuals to play on given skill level, latency and numerous other factors; setting up the game server with the proper parameters; connecting those individuals to that server; logging the details of the match; updating those details to a database and updating or creating statistics related to those individuals for display and ranking purposes to be used for later match-ups.

Description

  • This application claims priority of the provisional application with Ser. No. 60/680,848 filed May 13, 2005 entitled Method and Apparatus for Internet Network Game Challenge and Acceptance.
  • FIELD OF THE INVENTION
  • The present invention relates to internet gaming and more specifically to a method and apparatus for matching players of a particular interactive game on the internet, using one or more applications in several formats, including: a challenge and acceptance format, an immediate match-maker format, an intelligent match-maker format or other formats and providing continually updated statistical analysis for the games and the individuals involved in the match.
  • BACKGROUND OF THE INVENTION
  • The entertainment focus in network gaming has become more and more centered on player versus player confrontations. As games have progressed in complexity and as the proliferation of high-speed internet connections has grown, more and more players venture onto large interconnected networks of computers in order to find challenging opponents. The limits of game artificial intelligence are nothing, to a veteran gamer, compared to the challenge of competing against one or more highly skilled players behind the controls. Therefore, there is a desire in the art for a simple and easy method and apparatus by which a player can find opponents who are a challenge and provide an interesting match for players of all skill levels. Considerations in creating a matches include rankings, player or game ratings, gender, age, familiarity with the game or game genre and various other player and game characteristics.
  • To this end, several applications have been developed whereby a user may find opponents on the internet. These range in complication from simple web forums whereby users can specify certain game servers at certain times for individuals or groups to challenge each other to a match, to more complicated software or interfaces whereby a user is ranked over time or whereby individuals may actually launch a game in real time in order to play against or join in the play of a friend.
  • Nothing in the prior art, however, has provided a simple single interface for the interaction of players, a ranking system of players with real-time tracking of relevant game-play statistics, real-time push-button challenge, random or intelligent match-up of players, and server-side, peer-to-peer or client side control of the game server chosen and methodologies for finding a game server available for the match. In the prior art, some of this functionality has been built into a single game, an interface including some of these elements has been created or other interfaces with limited chat-centric functionality with no challenge and acceptance element has been offered. Alternatively, other prior art has offered little more than a list of game servers with the option to join has been provided.
  • This invention improves on the prior art by combining the many desperate elements into a single simple interface, including the option to challenge individuals and the option for those individuals to be immediately put in-game by the method of this invention in order to determine a winner. Further, the capability to find, quickly and effectively, the an optimal game server, based upon criteria established by the user or users available to each user involved is novel and nonobvious. Finally, capturing statistics, behavioral patterns, playtimes, playstyles, abilities, skills, user-defined data and other relevant player and game-related data and tracking this diverse data set in real-time for player (or teams of players). In the context of this document, player may be used interchangeably with “team of players,” “teams of players,” “group of players” or “groups of players.” The capture and use of this data in ranking and in the various match-making methodologies when combined with the prior elements of this invention is novel and nonobvious.
  • BRIEF SUMMARY OF THE INVENTION
  • According to the present invention, a method and apparatus are described whereby a user of the invention may challenge an individual (or team) to a game, an automatic match may be made using various methods or intelligent match-making using various criteria, which the individual (or team) may accept. The invention will aid users in finding an optimal server upon which each player is able to play based upon user input, automatically or based upon a data set built by the system and method of this invention. In the preferred embodiment, the game parameters are set by the invention, the game is then launched and played, various types of game and player-related data is tracked and recorded, and each player's (or team's) data is then stored for later use in analyzing the player (or team) for future matches. A new ladder or game ranking of the player (or team) is made based on this data, relative to all other players in the ladder or game.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a depiction of the foyer page of the method and apparatus of this invention.
  • FIG. 2 is a depiction of an eight versus eight team lobby or pre-game holding area
  • FIG. 3 is a depiction of a ladder lobby for a four versus four game.
  • FIG. 4 is a depiction of a team ladder pre-game holding area.
  • FIG. 5 is a depiction of a dialog popup for forfeiture of a match.
  • FIG. 6 is a depiction of a dialog popup for reporting a no-show match participant.
  • FIG. 7 is a depiction of a dialog popup for a private message sent to a user.
  • FIG. 8 is a depiction of a team ladder start sequence.
  • FIG. 9 is a depiction of a team four versus four lobby.
  • FIG. 10 is a flowchart of the steps involved in a challenge and acceptance match-up.
  • FIG. 11 is a depiction of a team four versus four lobby depicting a user's profile.
  • FIG. 12 is a depiction of a dialog popup for a challenge issued by a user.
  • FIG. 13 is a depiction of a one versus one pre-game holding area.
  • FIG. 14 is a depiction of a dialog popup for a challenge rejection to be rescheduled at a later time.
  • FIG. 15 is a flowchart depicting the steps involved in a “play now” match-up.
  • FIG. 16 is a flowchart depicting the steps involved in an “intelligent” match-up.
  • FIG. 17 is a depiction of the server and client architecture of the preferred embodiment.
  • DETAILED DESCRIPTION OF THE INVENTION
  • The present invention connects players who desire to play network computer games with each other. According to the preferred embodiment of the invention, a webpage is used, whereby users are able to login, using a user-selected user identification and a user-selected password. Methodologies to connect to a customized webpage (or other network-accessible interface) are common in the art and will not be described in great detail so as to avoid confusion over the scope of the present invention. The means by which an individual may select a username and password are implemented using traditional web database methodologies and algorithms. In the setup process, elements that are unique to the present invention include the setting of “available times” during which a user may be challenged to a game or may be automatically or intelligently set up for a match. These times may be further sub-divided by type of game, if desired. For example, and individual might set as available playtimes times from 2:00 pm-6:00 pm each day. If the online during those times, individual is are available for challenge or for team play. Alternatively, a user may be available from 2:00 pm-4:00 each day for one type of game as, for example, single player match-ups; where from 4:00 pm-6:00 pm each day his or her team is available for a particular type of game only and only as a team.
  • Individual and Team Competition Structure
  • Referring now to FIG. 1, once the user has created a login and password and logs in, the user is then presented with a customized webpage. FIG. 1 is an example of such a webpage, though numerous differing versions of this webpage and all other interfaces described herein are available while still accomplishing the goals of this and other web pages. This webpage provides various forms of information to the user. In the preferred embodiment, hypertext links to numerous sections of the website will be provided, such as forums, news, and other data about games and the individuals active on the game server. Among other things, a web foyer, as depicted in FIG. 1, appears which includes games for which the user is involved in a ladder, league or other competition structure. On the foyer page, one may presented with multiple competition structures, one for each game the individual has played or to which they have subscribed as being available to play a game. For example, in FIG. 1, element 100, is the ladder for Battlefield 1942® 8 versus 8 “Deathmatch.” Multiple competitions structures may be presented for each game, such as the two game ladders depicted in element 102. There may also be various tournaments and leagues to which a user may subscribe or in which to participate. If one has already scheduled a match in a particular ladder and the time for commencement of that match is near, a button or link similar to the one depicted in element 104 may be shown. Clicking this button or link will bring up the match lobby for that pre-scheduled match.
  • The server which hosts these ladders, leagues, match-ups and tournaments in the preferred embodiment is a web server. This web server is connected, in the preferred embodiment, to a chat/lobby server. The chat/lobby server's responsibility is to match up players once they have chosen to challenge each other, be available for match-up or to take part in a ladder, league or tournament. Generally, the chat/lobby server is connected to the client software on each individual's computer and is capable of accepting direction from the client software concerning potential match-ups for games, then assists in game server selection on which the player will play those games, launches the game server with the proper parameters and instructs the client software to launch the client game software and connect to a particular server to begin the match. Alternatively, some games for which this methodology can be used will not use independent game servers. In these cases, typically, one of the two (or more) clients is used as a server, to which all other users connect before the match is played. The system and method of this invention may be used in those situations, whereby the word “game server” will refer to one of the client computers chosen to act as the “server” for that game and to which the other client computers will connect. The details of the chat/lobby server's operation in the preferred embodiment will be described in greater detail in subsequent paragraphs.
  • One improvement over the prior art are the built-in competition structures and methods for gathering the information used to create and maintain the competition structures. Competition structures include team and single player ladders, team and single player leagues, team and single player real-time match-ups (both intelligent/criteria-based match-ups and immediate match-ups), team and single player tournaments, team and single player practice matches and numerous other game and match-up formats. Leagues are similar to ladders, except they are typically more structured, requiring a series of games to be played at set times over the course of a series of weeks or months. At the end of a “league,” the top players may be awarded or may be “seeded” in a final League Tournament. Match-ups of all types are typically more fluid and subject to ongoing competition.
  • An example of one type of competition structure is a “ladder” system. A ladder is a ranking system for determining an order of skill for online players as they play. Ladders have been employed in multiple types of games, including traditional sports teams and have been imported, more recently, into the interactive entertainment field. In FIG. 1, the user is a member of six ladders, one of which is depicted in element 106, “Battlefield 1942 8 versus 8 Deathmatch.” Additionally, more detailed data may be displayed, such as player ranking on those ladders. This data is retrieved from a database of player data maintained on a server available to the webpage. In the preferred embodiment data is displayed detailing the number of players currently logged on who are members of the particular game's ladder (or other competition structure), an example of which is shown in element 108. Numerous other types of data are stored for every team or player using the system and method of this invention.
  • Another competition structures available to players is a tournament-style play. Single and double elimination tournaments for each type of game and player match up (i.e. one versus one, four versus four, free-for-all, etc) may also be constructed. The individuals in these tournaments will login to the match server and their tournament schedule for the day or week will be displayed. They may have a certain window, for example three days, in which to play a particular game versus someone else in their bracket. The tournaments, in the preferred embodiment are set up among players of similar skill, typically from players in the higher-rankings of the ladders of each type of game. League play results in a group of individuals or teams of the same type in the same game all playing each other or most of each other at least once. The team with the best record at the end of the “season” is the league winner or may be seeded in a league tournament.
  • For each of the competition structures; rewards and prize allocation is automatic. Once an administrator has setup a particular competition structure; the prizes for that competition may be set. Once the winners have been determined at the end of a set period of time, a “season” or tournament; the prizes are mailed to the confidential addresses of the individuals or team. Alternatively, they may simply be emailed with information on how to receive their prizes.
  • Referring now to FIG. 2, in the preferred embodiment, the web site is also capable of use as a team-creation mechanism. A logged-in user may create a “team” for a particular ladder or tournament. To create a team, the user selects options that enable the team-creation functionality. Then, the user enters details about the team, such as a team name, logo, profile and the type of ladder(s) or tournament(s) in which the team wishes to compete. The name of an example team is visible in element 114. The logo of an example team is visible in element 116.
  • Once created, team membership may be requested by selecting usernames, example usernames of individuals already in the selected team are visible in element 118, or by typing them into a list. The individuals associated with the usernames will receive an email or pop-up message (if they are currently logged into the client software) requesting their approval for inclusion in the team. Once an individual clicks a link in the email accepting team membership or click the “I approve” option in the pop-up message, by responding to an instant message, by responding to a “text” message on a cellular phone or other form of confirmation, membership to that team is confirmed. The individual is then able to challenge, be challenged, or participate in ladders, tournaments and leagues as a team member. Alternatively, join passwords may be provided to individuals prior to the creation of a team and individuals may join the team through their own action, once it has been created, using the join password.
  • Teams may be subdivided into multiple squads, organized by the team leader. A team leader is the creator of the team at the start, but may be changed once the team has been created. Team management into squads (sub-groups of teams) may be arranged and managed by team leaders or squad leaders. The capability to determine available play-times and other team attributes may be set by the team or squad leader depending on the management settings set by the team leader. A team may participate in different ladders, tournaments or leagues for different games or types of matches for each game.
  • The competition structures visible to an individual or team may be further subdivided by type of game play. For example, for a particular type of game, there may be competition structures for individual one versus one play, team four versus four play or squad eight versus eight play, as seen in FIG. 1, elements 100, 110 and 112. The types of ladders, leagues, instant match-ups or other competition structures available to an individual to subscribe to will largely be dictated by the type of game for which the structure is created. Some games may be capable of large-scale numerous connections, while others may only allow connections for one versus one play. The competition structures will be created and monitored by individuals involved in the administration of the site.
  • Game Lobbies
  • Each of the competition structures, for example the one versus one ladder for a particular game, will have “lobbies.” An example lobby is depicted in FIG. 3. There is, also, in the preferred embodiment, a lobby for individuals simply waiting to play any game generally. These individuals may be members of multiple competition structures, but wish to await a challenge or match-up to any type of game for which they are a member of a competition structure. These lobbies are waiting areas for individuals to join in anticipation of playing that type of game versus other individuals. A user may always change lobbies simply by clicking a button, an example of which is seen in element 126 and selecting a new lobby. Additionally, a user may be in any number of multiple lobbies at any given time. The user may wish to be available for any number of competition structures awaiting a match. For example, all individuals wishing to play a four versus four team game of Unreal Tournament 2003® will be logged into the lobby for that game. In a particular game-type's lobby, individuals will be able to see the usernames of other individuals in the lobby waiting to play. In FIG. 3, element 120, the users in the ladder lobby for Unreal Tournament 2003® are shown. The individual usernames, in the preferred embodiment, will also be able to be selected and various operations may be performed by an individual selecting another individual's username. For example, the individual may see the user's record on a particular game, as seen in element 122. Additionally, a user may see the ladders which a particular user is subscribed to, as seen in element 124. Alternatively, dependant upon the type of ladder lobby entered, the individual may see an entire team or squad's record and profiles by clicking on an individual member of the team in, for example, a lobby dedicated to a particular game with a four versus four or eight versus eight format. They may seek to see the individual's overall profile. This profile in the preferred embodiment may included data such as the individuals overall ranking on each competition structure in which they take part, the individual's record of wins and losses, kills and deaths, and other relevant statistics. The profile may also include data such as location, hobbies, user description, or other relevant information, depending upon the user's input. Additionally, visible data and other player and game-related data may be used to generate more subjective information. This profile could include prior ratings or write-ups about that player, either by the individual user, the player or other users. The profile could also include criteria, based upon relevant data, concerning the likelihood that the user and that player are a “good match” for a game, as individuals being of similar skill, playstyle, ability, record or other subjective criteria. Several pieces of these data are visible in element 122. A more detailed profile is available by selecting to view a user's profile.
  • The lobby for a particular game is launched by clicking the link for the game and type of play, such as Battlefield 1942® 8 v 8 Deathmatch depicted in element 100. Once the link is clicked, an application is launched from within the web-browser in the preferred embodiment. The main or “general” lobby may also be started in much the same way by clicking on a link dedicated to a general lobby, in the preferred embodiment detailing the total number of users logged into the general lobby. In alternative embodiments, the entire application may be stand-alone, requiring no web-browser portal for login. Alternatively, the entire application may be web-based. However, in the preferred embodiment, a java applet is launched by clicking on the link to a particular ladder. In the preferred embodiment, the java applet is responsible for most of the interaction between the client computer and the various server computers and other client computers. This applet, unless otherwise described will be referred to as the client software. The client software in alternative embodiments, may be stand-alone software, completely web-based or built-into the network software of various games. The java applet is only the preferred embodiment of the client software.
  • Once the link, depicted in element 106, has been clicked, in the preferred embodiment, a java applet window appears. Referring now to FIG. 4, an eight versus eight team ladder lobby or pre-game holding area that appears when a ladder lobby is selected is depicted. Lobbies are available for every type of competition structure described above. A ladder lobby is used here only for descriptive purposes. In other lobbies, much of the same types of actions are available and much of the same data is displayed to the user. In the preferred embodiment, the title of the lobby is displayed as shown in element 128, the usernames of individuals currently viewing that lobby is displayed and a chat window is displayed in element 130. For example, in FIG. 4, the ladder lobby title, depicted in element 128, is Battlefield 1942® 8 versus 8 Deathmatch. All individuals present in the lobby are depicted in the non-focused tab “in this room” tab shown in element 132. Also show is a focused tab for a buddy list in element 134. This buddy list contains the names of individuals whom the user has flagged as buddies. Also present in the preferred embodiment is the ability to review a user or team's profile, either in summary form or by right-clicking on a name and requesting a full profile. In summary form, in the preferred embodiment, the user's current rank, wins and loss record for the current ladder lobby are displayed as in elements 136 and 138, the number of challenges denied and any winning or loss streak. Also included in the preferred embodiment is a subjective ranking of the match-up between the two players. In a more detailed form, additional information may be displayed, such as age, location and time zone that the user has chosen to input into their profile. Additionally, a user may view an individual's full profile, in the preferred embodiment, by right clicking on that individual's username and selecting “view profile.” When this is done a full version of a user profile is displayed including the competition structures to which that individual belongs and the records, ranking, current streak, challenges denied and other relevant data, as described above, usually dependent upon the game, for each competition structure. In the preferred embodiment, the profile is displayed in a normal web page window using the web browser. Alternatively, the java applet may display the profile.
  • The competition structure's lobby may be used as a pre-waiting area before a game is launched or a challenge is made. As above, the user may be waiting in multiple lobbies simultaneously, so as to be available for multiple types and formats of games. This can serve to increase the likelihood of finding a match more quickly. From within this window, a user may “chat,” communicate via typed messages, with other individual's in that lobby. This functionality is depicted in the chat window 140 and the chat input box 142. Additionally, a user may simply review the individuals who are present in the lobby by viewing a tab entitled “in this room,” depicted in element 132. This tab will have a top to bottom scrolling list of the usernames of all individuals in the lobby. Some users may have “guild” or “clan” tags on their usernames. These tags are special monograms or other identification associated with the username, to identify those individuals as being a part of the guild or clan. Text chat will appear in another scrolling window with the option for the individual user to add his or her input, such as depicted in elements 140 and 142. If the competition structure is a group competition structure, such as two versus two or four versus four ladder matches, the lobby may also serve as a waiting room in which to wait until all the members set to play each other at a certain time arrive. The ladder lobby depicted in FIG. 4 is being used as a pre-game holding area.
  • Another functionality of the invention is to allow the scheduling of matches between individuals or groups for a time at some point in the future. These matches may be set up during the “challenge” dialog, through a “challenge later” dialog, through direct contact between the parties, through an automatic match-up for a later time, through “automatic” weekly or monthly scheduling as a part of a tournament or league, set up using the website or numerous other methods. Once all individuals have arrived for a prescheduled match, and have entered the game lobby or pre-game holding area, the match is almost ready to begin. There are buttons to the right side and bottom, in the preferred embodiment, which are used to indicate readiness, as in the “ready” button in element 144. This button indicates that the user is ready for the match to begin. Once all (or most) individuals have entered the room, the “ready” button 144 becomes available for clicking.
  • In the preferred embodiment, there is an “exit/forfeit” button 146 used to leave the lobby and forfeit the match. The exit/forfeit button 1346 allows an individual to leave the match, but at the cost of forfeiting the match. Should a player for one side or one of the individuals in a scheduled match fail to check-in during the alloted time frame, the match will be automatically forfeited. The results of clicking the exit foreit button 146 are shown in FIG. 5. The user will be presented with a popup box where element 152 is a “Yes, Forfeit the Match and Quit Application,” element 154 is a “No, Exit the Application, I will be back for the Match” and element 156 is a “Cancel” button. Forfeiting will affect the individual or team's record and ranking, but will enable an individual to leave who must immediately. There is also a “report no-show” button 148 that only is enabled when the time for the match has passed and which is used, once the match start-time has come and gone, to “report no-show” players and to force the other side to forfeit, depending on the ladder rules.
  • The results of clicking the “report no-show” button are depicted in FIG. 6. The user is present with a dialogue box that asks, in element 158, “Are you sure you that your opponent is a no show?” This is an attempt to avoid reporting no-shows before they really are no-shows. Additionally, the clicking of this box is logged, along with all of the individuals present in the room when this box is clicked. This may be used later to decide, if questioned, if there really was a no-show situation. This is because no-show situations affect ranking and ladder statistics. The choices are “yes,” shown in element 160, and “no”, shown in element 162.
  • Finally, referring again to FIG. 4, there is a “rules/help” button 150 that can be used to determine the rules of the match and to request help from administrators or web-based help. The rules/help functionality will bring up a dialogue box that will display various match-related criteria such as the match setup, the game to be played, the map on which the match will be played, the number of participants, the game type (two versus two, team, free-for-all, one versus one), and any custom rules dependant upon the game itself. These criteria may include options such as: friendly fire enabled (the ability to inadvertently harm one's team members), time, frag (number of kills by an individual or team of another individual or team) or flag limits or abilities or options that will not be available to the players. Also available to the players may be server-selection criteria such as a subjective “quality” of the server, server load, latency maximums for all players or other server-related criteria.
  • In the preferred embodiment, a “check-in” system is employed for pre-scheduled maps prior to entering the pre-game holding lobby. Using the check-in system, as each player arrives, up to thirty minutes before a scheduled match in the preferred embodiment, they can check-in to the match to be played. Once all the players are checked-in for a match, it will begin at the scheduled time. Checking in is done using the “ready” button 144, shown in FIG. 4. Additionally, the internet protocol address of the checked-in player will be logged to help insure against the possibility of another player logging in on behalf of a player involved in the match. This will aid in combating potential cheating in the game by having another player play for one or more of the individuals involved in a particular match.
  • Users may also chat individually with each other using means similar to those of chatting with the group at large. FIG. 7 depicts an individual one on one message between users. The dialog box depicted may be created by double clicking on a username anywhere in the application or by double clicking on usernames listed one's buddy list 134 or in this room 132 tab. This dialogue box enables private messages to a single individual to be sent. The individual to whom the message is sent is show in element 164 and the text to be sent is depicted in element 166. The “send” button 168 will send the desired text and the cancel button 170 will not send the text and will close the dialogue box.
  • Referring now to FIG. 8, once the individuals for the match have all arrived, as indicated by waiting for 0 players to join, depicted in element 172, and the ready button 144, from FIG. 4, or functionality has been enabled by all (or substantially all, as required by the rules of the particular competition structure) participants being present, player may select “ready” usually by clicking on the button. This process is depicted in the chat-box show in element 174. Once all (or substantially all, as described above) individuals have indicated that they are “ready” through clicking the “ready” button, element 144 in FIG. 4, or through other means, a match will commence. Each user has indicated that they are ready to play, as is output in the box in element 174. Finally, the announcement is made that the game will start in 15 seconds, as shown in element 176, and the match server finds and launches the game server, connecting the participants.
  • Methods of Match-Up
  • There are numerous methods which may be utilized for matching players for games. One example of a match-up methodology is the “challenge and acceptance” methodology, whereby one player selects another player and “challenges” them to a match. Another methodology, described below, is the “play now” methodology. In this type of match-up, the software's capability to view past statistics and data is used to find a “good” match-up automatically for a user. Another methodology is to allow the user to intelligently choose a match, based on various criteria. The software may then search the available players for an opponent meeting those various criteria. There are numerous other methods available, such as “scrimmage” now or predetermined scheduled matches also available to the user. The three methods described below are only for purposes of illustration.
  • Challenge and Acceptance Functionality
  • A lobby, as described above and seen in FIG. 9, may also used as a “staging area” for challenges. A challenge is one example of the way in which a match may occur. It is only one of several methods of taking part in various competition structures or match-ups. A challenge within a lobby may be initiated by a single individual in the case of lobbies dedicated to one versus one play or by a “team” or “squad” leader in lobbies dedicated to four versus four or other team-oriented play. Challenges are real-time requests for a match between two individuals or teams. A challenge may be initiated by right-clicking on a username and selecting “Challenge Now” or alternatively by highlighting a user's name and clicking the challenge now button, seen in element 178, that appears on the main interface of the ladder lobby. Additionally, if a highlighted individual username is a member of a particular ladder, the user may click a button to join that ladder, seen in element 180, and to become available for challenges on that ladder during available times. The user may also choose to challenge later, by clicking on the button in element 182. This button may be used to set up challenges at a later date.
  • Referring now to FIG. 10, a flowchart of one embodiment of a match-up, called the challenge and acceptance play sequence is depicted. First, an individual or team joins a particular lobby or ladder, as shown in element 182. An individual or team captain may then select an individual or group to challenge, shown in element 184. Next, the user challenges the individual or group, as shown in element 186, using a method described more specifically below. The challenged individual now is presented with three options of acceptance. First, they may decline, which will return the challenger to the step depicted in element 188, select an individual or group to challenge. If the user declines, they may select to schedule the match 190 for a later time. This option may be used when the current time is inconvenient for the challenged individual or group. Finally, the individual or group may accept the challenge immediately 192, which will cause them to enter the pre-game holding area 194. Next, the match will be set up 196, using a procedure more fully described later, but summarized in elements 198 through 204.
  • First, all players arrive in the pre-game holding area and indicate that they are ready 198. Once all players are ready, the game servers, there are many in the preferred embodiment, throughout the world, ping the clients 198. Next, the game server is selected 200 using predetermined criteria, including the ping times from the clients, as described more fully below. Finally, the players join the game server 202, based upon those criteria, automatically. Next, the match is played by all players, with statistics and data about the match being stored 204. The ladder ranking and statistics are updated 206 using the new data.
  • The flowchart may be described more fully by reference to a few additional figures. Referring now to FIG. 11, an UT2K3 Team 4v4 Ladder Lobby is depicted. “UT2K3” is Unreal Tournament 2003®, currently a popular multiplayer game. In the preferred embodiment, numerous games will be available, including newer games as they are released. The lobby has numerous people in it, depicted in the “in this lobby” tab 208 on the right. When no user, or when one's own username is selected in this menu, one's own ladder and match information is displayed. For example, user information may be depicted, such as in element 2, upcoming matches may be depicted, such as in element 21 and current ladders of which one or one's team is a part of may be depicted as in element 21. As in the prior depiction of a lobby in FIG. 4, users may view chat in the chat window 216 or input chat into the chat input box in element 218. Most importantly, however, one may challenge another or a group from this lobby.
  • Referring again to FIG. 9, once an individual's name has been highlighted, such as “Ganchmaster” in element 220 the “challenge now” button 178 or right-click “challenge now” option becomes available. Additionally, the “challenge later” 182 button becomes available. Referring now to FIG. 12, issuing the challenge will bring up a further dialog box to the individual being challenged. The dialog of the preferred embodiment appears in FIG. 12. This dialog will contain the individual issuing the challenge 222, the type of match being challenged 224, such as UT2K3 Player versus Player (PVP). Also displayed are current and three potential ladder rankings, as show in element 226. The current ladder ranking is based upon a user or group's current statistics and record. The potential rankings are based on the possibilities available to the individual. If the user accepts the challenge and wins, a certain ladder ranking will be awarded. This information is displayed along with the potential ranking if the user accepts and loses or if the user simply rejects the challenge. A ladder competition structure is shown here for simplicity, but various other types of structures offer similar functionality. For example, if this were a league lobby, instead of depicting potential ladder rankings dependant upon the outcome of the match, the next match-up, the potential league rankings or “advance to the semifinals” would be displayed.
  • The user may “challenge” another individual whose username is visible to a game of the type of the lobby that they are in or to any other competition structure type in which they are involved along with the user. The individual may be limited in terms of his ability to challenge by several factors. For example, the user may not be “available” for challenge at that point, one of the numerous settings the user may input as he sets up an account. If the individual happens to be on at times other than the “available” times, the user may or may not be penalized for not accepting a challenge. In the preferred embodiment, the user is not penalized for failing to accept a challenge during time designated as “not available” for play. However, setting these times in the preferred embodiment also limits the individual's ability to challenge others in times other than the “available time.” In the preferred embodiment, an individual may not challenge another during time designated by them to be “unavailable time.” However, in spite of all of this, if both players (or teams) are online simultaneously, the “challenge now” functionality will be available to both players (or teams).
  • Referring again to FIG. 12, the challenged individual, at this point, may choose one of three options in response to the question “do you accept this challenge?” as shown in element 228. Option one is to accept the challenge now, as depicted in the button denoted in element 230. This means that as soon as all challenged individuals (more than just the challenger and challenged if it's a team-based or group challenge) are present, the match will begin. Alternatively, the challenged may choose to reject the challenge, as shown in the button denoted by element 232. Using this option, the match will not start, but the individual may take a small loss in ranking, as shown in element 226, due to the failure to accept a challenge from someone. Finally, the user may accept the challenge, but set it up for a later date, as shown by the button denoted by element 234. This third option does not cause a loss in the challenged ranking, but brings up a further text box, denoted by element 236, whereby the challenged and challenger may set up a time at a later date when they will both or all (in the case of team or group matches) be available for a match. Also in this dialog box is the option to include a message to the challenger about the acceptance, refusal or challenge later options.
  • Referring now to FIG. 13, a pre-game holding area for a one versus one challenge game is depicted. Once the challenged individual or group has accepted the challenge or all individuals for a pre-scheduled challenge or match have arrived in the lobby, the individuals are moved to a pre-game holding lobby for their game. In FIG. 13, there are only two participants in the game, whose usernames are depicted in element 238. The details of each individual or each team including: records, statistics, wins losses, type of connection to the internet and location are displayed in elements 240 and 242. These are selected details from the individual's or group's profile. The window itself is very similar to that of a lobby, except that only individuals about to enter a particular game are within the lobby. There are the names of the individuals listed in the “In This Room” tab, shown in element 238, on the screen and there is a text box for chatting between the individuals or teams depicted in element 244. Also displayed in this room is the type of game being played and the name of the game, such as UT2K3 PvP Deathmatch, shown in element 246. Also, are the same buttons depicted in FIG. 4 for ready, exit/forfeit, report no-show and rules/help as shown in element 248.
  • Referring now to FIG. 14, if a player rejects a challenge, but chooses to reschedule the challenge for a later time, a display similar to the one depicted is presented to the challenger. A dialogue box containing text informing the challenger that the challenged individual has rejected the challenge is shown, as in element 250. Within this dialogue box is a text box containing the reason the challenge was rejected as input by the challenged individual or team, as shown in element 252. The challenger has but one option, “ok” as shown in element 254. The match will be scheduled, based upon available playtimes of both individuals or teams.
  • An example may demonstrate the steps described to this point. The first step is for a user to login to the webpage. This is done using typical login algorithms standard in the art. Once the user has logged into the site, the competition structures are displayed in which that user participates. So, for example, Battlefield 1942® 4 v 4, Counter-Strike®: Source 8 v 8 and Warcraft® III 1 v 1 may be displayed as ladders which this user participates. The user may then select one of those competition structures, such as Battlefield 1942® ladder by clicking on it. Once the user clicks, the java applet is launched and the ladder lobby for Battlefield 1942® is displayed. This lobby will have a text box, the user's buddy list, a list of individuals in the room. It will also have the option to challenge any four-person group (this is a 4 v 4 ladder) to a match.
  • The user may see a group of players who he has played before or who he knows is well-ranked. The user may view the ranking of those players by highlighting their names in the “In This Room” section of the lobby. When this is done, their profile as a team will be displayed. Their ranking may be number 15 overall in this ladder, whereas the individual's team, who are all currently present, may be ranked 24. The user may then challenge that team by highlighting one person's name and selecting “challenge” either as the button or by right clicking on a name and selecting “challenge” in the menu that appears.
  • At this point, the challenged may review the challenge window that appears on the challenged client software. This window will contain the opposing team's profile, their current ranking of 25, the ranking results of potential outcomes. For example, the dialog may display that if they refuse the match, they will be ranked 16, if they accept the match and lose the match, they will be ranked 17. If they accept the match and win, they will be ranked 14. This individual, may immediately accept the match or may schedule it for another date.
  • For purposes of the example, the challenged individual accepts the match immediately on behalf of the team being challenged. The challenger and challenged are then “moved” to a pre-game holding lobby. In this room, the profiles of the team, including the rankings, are displayed for both parties. The parties may chat while they await the arrival of all eight players. Once all eight players have arrived, the “ready” button will be available. Once all eight players have clicked the button, the match will be ready to commence.
  • The “Play Now” Functionality
  • Referring now to FIG. 15, a flowchart depicting the steps involved in a “play now” match-up are depicted. This is another type of match-up available to players in any lobby at any time. The first step is for a player to join a lobby 256. In the lobby, a player may select a button entitled “Play Now” (or perform other similar action) 258. At this point prior matches and team play in the particular competitive structure (such as a ladder or team play) will be used to create a “good” matchup between the players. If the player (or team) is relatively good, a player (or team) of similar skill will be automatically found based upon various criteria, including ranking, prior match-ups, recent play, playtimes, and numerous other criteria. A group of other opponents who have selected “play now” or who are otherwise available for play are searched for a “good” match 260. Then an opponent (or opponents depending on the game) is automatically selected based upon those subjective criteria 262. The optimal server is found for the players 264, including a determination of latency and based upon other player-input criteria such as server type, bandwidth, availability or server quality rating. The match is automatically set up 266 using one of the methods described above. The match is played and the data described above is generated and stored 268. This data is used to update the database of data, profiles and other rankings in a manner similar to that described above 270.
  • The Intelligent Match-Up Functionality
  • Referring now to FIG. 16, a flowchart depicting the steps involved in an “intelligent” match-up are depicted. This is yet another type of match-up available to players in any lobby at any time. The first step is for a player to join a lobby 272. In the lobby, a player may select a button entitled “Find a Match” (or perform other similar action) 274. At this point data pertaining to prior matches and team play in the particular competitive structure (such as a ladder or team play) will be used, by the user, to select or narrow choices down to a match between players. In the preferred embodiment of this match-up type, once the user presses the “Find a Match” button, he or she is presented with a dialogue box containing several suggested match-ups based on the data provided and the other players currently in the lobby or otherwise logged into the system. Next, the player is presented with numerous characteristics and criteria 276, in the preferred embodiment presented as drop-down menus whereby the player may select characteristics such as game type, player ranking ranges, winning percentage of opponents or any other objective or other criteria such as a subjective “good match” as determined by an algorithm using the available profile data in the database. The user then narrows his or her player-selection criteria 278. An opponent meeting those criteria will be found 280 who are available for play and a match will commence if that player or team accepts the match 282. The match will be played and data generated and stored 284. The data, profile and rankings will be updated using this newly-generated data 286.[0046] An intelligent match-up may also be made by means of a “standing order” to find “good” matches issued by the user, such that when that user logs in, based on his or her profile and other data, in conjunction with the profile and other data associated with other players a “good” match-up may be suggested by the software when that player or team first logs into the client software.
  • The Server/Client Structure Embodiments
  • Referring now to FIG. 17, the overarching structure of one embodiment of the invention is depicted. The method and apparatus of this invention runs using client/server software. The client software 288 is made up of the lobby software or client software 290 and game client 292 running on an individual's computer. Typically, many individuals using the client software 290 will be logged into a single chat/lobby server. Many lobbies exist for any number of game types, in the preferred embodiment, on multiple chat/lobby servers. The client software 290 is responsible for displaying the lobbies and pre-game waiting rooms, providing an interface from which to chat, maintaining a list of “buddies” and displaying profiles. The client software 290 is also used to communicate when individuals are ready for matches to begin and to send and accept challenges from other players, including the option to set up challenges for the future, and to setup or accept other match-ups. The client software 290 also determines an individual's ability to be involved in a particular game ladder, by checking to see if the individual has the current game client 292 software for that game. Once a challenge has been accepted or a match otherwise begun, the client software 290 also is responsible for launching the game client 292 software on the individual's computer, for example, the Battlefield 1942® executable file. The client software 290 uses the proper arguments (commands given to the software at startup) to launch the game and to connect it to the selected game server 300 for the match.
  • The chat/lobby server 294 is responsible for allowing multiple client softwares 258 to connect, chat, schedule matches, initiate criteria-based match-ups or automatic match-ups, challenge each other and to maintain a database of scheduled matches and profiles. The chat/lobby server 294 also maintains in a database, such as the one depicted in element 302, including competition structure rules, members, player and game-related data, rankings and player and team profile data including requirements for involvement in a particular structures. The individual and team profiles, as described above, will also be maintained, in the preferred embodiment, on a database server 302. The database server 302 will maintain information for each user, the competition structures they participate in, and other relevant information pertaining to the user. The database server 302 may also houses a list of game servers, one of which is depicted in element 300, on which matches may be played. In the preferred embodiment of the invention there are multiple game servers housed in numerous places throughout the world. This will enable the chat/lobby server 294 to select the optimal game server 300 for two individuals to play.
  • Game hosting servers 296, each capable of hosting multiple game servers 300 (of which there are many different types) may be found or allocated using numerous methods. In one embodiment, game servers 296 may be pre-selected always-running hardware located in strategic places around the United States or the world. A “strategic place” being a place in the midst of numerous potential player locations such that latencies will be low for players in that area (latency and game server selection is discussed below).
  • In an alternative embodiment, game hosting servers 296 may be individual user servers with an additional piece of software running such that they “inform” the chat/lobby server 294 that they exist. These servers would, typically, be less favored as they may not provide the best and most accurate game conditions for high-level competition. In situations in which valuable prizes would be awarded, these servers would, often, not be the first choice for matches.
  • In the preferred embodiment of the invention, the game hosting servers 296 would work in a peer-to-peer fashion. Peer-to-peer networking has become very popular in recent years in the art. The general idea is to allow the network itself to do the work which has typically been assigned to a single server (or cluster of servers). This provides several benefits. First, using peer-to-peer technology lets computers solve their own problems. If peer-to-peer technology is used, the software maker need not worry about server uptime as much, since the network of client software is typically, in the art, responsible for making most decisions.
  • Second, peer-to-peer technology is less expensive to maintain. The server software and server framework in a peer-to-peer situation need not be as robust as the usual server/client model common in the art. Because the server in the peer-to-peer technology is responsible for less of the work than it would be, were the client softwares not being used. For example, recent Voice Over Internet Protocol (VoIP) software uses peer-to-peer networking in order to send calls. This software has peer-to-peer clients locating each other and helping to forward calls along to each other. This lessens the bottlenecks of bandwidth which may occur if all of those VoIP calls were routed to a single location (the main server), then transmitted outward from there. If that were the case, large-scale VoIP might be impossible, but using the interconnection of the network itself, the bandwidth usage remains spread and the VoIP can be high-quality and fast.
  • In the game server and game server selection context, the game hosting servers 296 each “bid” for the opportunity to host each game. The game hosting servers 296, in the preferred embodiment, use a small piece of software that is always-running. This piece of software keeps track of the type of games the server is capable of hosting, the current “load” on the game hosting server 296 including the Central Processing Unit's (CPU) utilization, the network utilization and the potential load from prior or soon-to-start game instances. This software also contacts all known chat/lobby servers 294 for matches which are or will soon be in need of a game server 300. The game hosting server 296 then requests that it be put in a “bid queue” for the chance to bid on upcoming matches. The software on the game hosting server 296 is informed by a list maintained on the chat/lobby servers 294 of upcoming and pending games and will request to be put in the queue for a chance to “bid” for a given match. The number of active “bids” for a match is limited, in the preferred embodiment to fifteen, so as to not “flood” the clients offline with huge numbers of ping requests when the latency-detection process is initiated (as described below). Once an a game hosting server 296 is needed, those in the queue which meet the criteria are allowed to “bid” whereby their characteristics (if the user has selected to use any number of characteristics as limiting factors) are evaluated and they are asked to “ping” the client computer 288 who will be playing. They will then inform the chat/lobby server of these latencies and other characteristics. If the latencies are unavailable, the chat/lobby server may request that the client software 290 ping the game hosting server 296 instead.
  • The game hosting servers 296 are ranked using criteria, including player rankings as to their experiences playing on that server and using objective measures such as the server CPU load and the current and upcoming network usage. Also considered are the specifications of the game hosting server 296 and a server administrator set number of concurrent games or bids allowed.
  • In this process the chat/lobby servers 294 will continuously update a list of upcoming matches and matches waiting to be allocated a game server 300. The chat/lobby server 294 also manages the game hosting server 296 bid request, bid authorization, bid receipt and bid-ranking processes. The chat/lobby server 294 maintains a database of the currently available game hosting servers 296 as they inform the chat/lobby server 294 of their availability for utilization and as they make bids. The database would be housed on the database server 302. This database would also maintain the player ratings of the game hosting servers 296 and other relevant data related to the game hosting servers 296. In one embodiment, “better” rated or performing game hosting servers 296 may be awarded in some way by virtue of their being “better.”
  • Latency Detection and Game Server Selection
  • One game hosting server 296 may be better-suited to host a game than other game hosting servers 296. The most important considerations for gamers may be the above described player ratings, the current network and CPU load on those game hosting servers 296, the latencies of those game hosting servers 296 and other user-selected criteria. The user may choose to only play on well-rated servers or to play only on servers in a particular region (the west coast or east coast or mid-west of the United States). Users may even select to play, only, on their self-hosted server. Any number of criteria may be considered or be selected to be required by a player or players involved in a given match. All of these factors will be considered against the currently “bidding” game hosting servers 296. Once a group of servers has been selected using those criteria, if the users has selected to consider latency, the least latent of those servers will be selected by determining the latency of those servers using the following method.
  • Once each individual (or substantially all, as required by the rules of the particular competitive structure) has selected the “ready” option to begin a match, this is signaled to the chat/lobby server 294. At this point, the chat/lobby server 294 then coordinates with each of the game hosting server 296 to determine the latencies of each of the game participants. In the preferred embodiment, the chat/lobby server 294 requests that each of the available game hosting server 296 for the requested game perform a ping on each of the clients involved in the match. Alternatively, the client software 290 may perform a ping on each of the game hosting servers 296 to determine the latency of each client and then report that to the chat/lobby server 294.
  • A ping is a networking term that is well-known in the art. When a computer is pinged (the verb) by another computer, this ping “bounces back” in a fashion similar to that of a SONAR ping. The time at which the ping is sent is recorded by the first computer and the time at which the other computer's reply to the ping is received is also recorded. This results in a latency or ping (the noun)—the time it takes for one packet of data to travel from one computer to another computer and back to the first computer. In online gaming the latency is very important to a user. The better the latency (lower latencies are better), the more responsive the online game is to the player's movements. A very poor latency to a game server may result in a player's inability to control their avatar effectively and loss of a match or individual fight within the game. Latencies are largely determined based upon the connections used by the computers at either end. The locations of the computers involved are also a very significant determinant of latencies. Two computers connecting to each other each in the same city will typically have very low latencies, assuming each has a relatively fast network connection to the internet. Two computers communicating with each other across the nation, for example, from New York to Los Angeles will have a higher latency than two computers both communicating in Los Angeles.
  • Typically, avid gamers desire latencies less than 50 milliseconds. As latencies get higher than 100 milliseconds, the ability to control the actions of the avatar in the match degrade, reaching near unplayability at a latency of somewhere above 300 milliseconds. However, the importance of the latency is largely dependant upon the interactivity and pace of the game being played. For some games, latencies over 2000 milliseconds (2 seconds) will not affect game play at all. Examples of these types of games are typical online games such as hearts, checkers and chess. However, the types of fast-paced action games being played using the method of this invention will be very dependant upon a good latency, for example of 50 milliseconds, if attainable, or less. Additional criteria, as described above in the preferred embodiment, are used in selecting a server, such as the game hosting server's 296 CPU load, network utilization, upcoming (scheduled or allocated matches) network and CPU load and player ratings of the server created over time from player reviews. Once those criteria are met, latency is considered.
  • Once each player's latencies, after a ping, are received by the game servers, they are forwarded on to the chat/lobby server 294. The chat/lobby server 294 then, using the ping and other criteria requested by the user (or automatically), determines which game hosting server 296 will is the optimal server for the individual's involved to play the match. This is done by comparing the two lists of latencies-one for each person. The list is first narrowed, in the preferred embodiment, by finding all latencies for both parties for each game hosting server 296 that are within 15 milliseconds of each other. In other embodiments, particularly where latencies are not as important, larger latencies may be used. However, in the preferred embodiment, closely-matched latencies will be sought and 15 milliseconds of latency has been chosen as the range of acceptable differences between the parties. Removing latencies that are widely varying from each other will result in a narrowed latency list of potential game servers that are very close to the same latency for each party. Next, from those potential game servers, the lowest combined latency is chosen.
  • This concept may be understood more fully through the use of an example. For simplicity, an assumption is made that the four challengers in each group are in one room, connected to one network connection. This allows us to assume that their latencies to a particular game server are the same or substantially similar. For purposes of this example, the challenger team is in Los Angeles, Calif. and the challenged team is in New York, N.Y. Both have agreed to a match and all parties have shown up at the proper time or the challenge has been accepted in real-time. At this point, the chat/lobby server 300 software accesses its database 302 to determine the potential game hosting servers 296 for that type of match. In the preferred embodiment of the invention, numerous game hosting servers 296 for each type of game that a competitive structure has been created are available. The chat/lobby server 294 then requests that each of those game hosting servers 296 on that list ping all of computers of the participants and record the latencies sent back. The recorded latencies are then forwarded back to the chat/lobby server 294. The chat/lobby server 294 then performs the calculations necessary to assure both parties receive the best possible latencies for the match.
  • So, for simplicity the assumption is made that there are only three potential game hosting servers 296 on which to play. As stated above, in the preferred embodiment, there are numerous game hosting servers 296 available throughout the world so that any player may find a low-latency game hosting server 296 no matter where they are in the world and no matter who they challenge in the world. One of the game hosting servers 296 in this example is located in Los Angeles, Calif. and the other game hosting server 296 is located in St. Louis, Mo. The list of latencies received by the chat/lobby server 294 appears similarly to as follows:
    Game Hosting Server/Player Latency Table
    Game Hosting Player Group One Player Group Two
    Sever Location (Los Angeles, CA) (New York, NY)
    Los Angeles, CA 10 ms latency 70 ms latency
    St. Louis, MO 30 ms latency 36 ms latency
    Phoenix, AZ 20 ms latency 34 ms latency
  • The chat/lobby server 294 then uses the algorithm described above to determine the optimum game server for both parties. The first step is to narrow the list to one of only those game hosting servers 296 that have latencies within 15 milliseconds of each other. To do this the latencies are subtracted from each other as depicted in the following table:
    Game Hosting Server/Player Latency Table
    Player Player
    Group One Group Two
    Game Hosting (Los Angeles, (New York, Latency Eliminate
    ServerLocation CA) NY) Difference From List
    Los Angeles, CA 10 ms 70 ms 60 ms Yes
    latency latency
    St. Louis, MO 30 ms 36 ms  6 ms No
    latency latency
    Phoenix, AZ 20 ms 34 ms 14 ms No
    latency latency

    As can be seen, the Los Angeles, Calif. game server will be removed from the list of potential game servers because the difference in latency is greater than 15 ms as required in the preferred embodiment. In other embodiments, larger latency differences or smaller latency differences may be used, dependant upon the needs of the players being matched. Alternatively, differing “tiers” of latency differences may be used. If the 15 ms latency difference is unattainable, the software may seek latencies less than 30 ms difference, then 60 ms and so on until the smallest difference possible is achieved.
  • The next step is to review the data to determine, in the now-narrowed list, which two latencies are the combined lowest for the parties. To do this, the two (or more in other types of matches) latencies are added together to create a data set similar to the following table:
    Game Hosting Server/Player Latency Table
    Player Player
    Group One Group Two Chose
    Game Hosting (Los Angeles, (New York, Total This Game
    Sever Location CA) NY) Latency Server
    St. Louis, MO 30 ms 36 ms 66 ms No
    latency latency
    Phoenix, AZ 20 ms 34 ms 54 ms Yes
    latency latency
  • Using this data, the chat/lobby server 294 is able to tell that the lowest combined latency is the game hosting server 296 located in Phoenix, Ariz. with a combined latency of 54 milliseconds. This game server is then chosen to be the game server for the match.
  • Once a selection of game hosting servers 296 has been chosen using this method, the chat/lobby server 294 communicates with the chosen game hosting servers 296. This communication is used to set up the match soon to start. This communication is automated and is designed to set various settings prior to the start of a match. These settings are largely determined by two factors. One factor is the game and ladder themselves. The ladder that the players are involved in may have set rules, such as the four versus four player game required by the particular ladder in our example. Additionally, there may be certain other requirements based upon the competition structure or game, such as time limits or frag (as described above) limits that are required as a part of being involved in a particular ladder. The other factor is the individual's launching the game themselves. To some extent, as the challenger challenges an individual, the challenger is able to set the parameters of the game, so far as they are allowed to be altered based upon the competition structure rules.
  • Based upon the player selected criteria, including the latencies of the player and the customization potential of the matches for a particular type of game, the chat/lobby server 294 then sets all relevant settings including the map (the level on which the game will be played), the time limit, frag or flag limit, and other relevant game settings. The chat/lobby server 294 then starts the game server 300 with those settings. The chat/lobby server 294 then also, in the preferred embodiment, sets a password for the game server 300. Only the chat/lobby server 294 knows the password and in the preferred embodiment, this password is not passed along visibly to the client software 290. Instead, once the clients have clicked the ready button, the chat/lobby server 294 performs the functions described to set up and start the game server 300. Once the game hosting server 296 is selected by the chat/lobby server 294, set up and started; the chat/lobby server 300 then forwards to the client software 290 for each individual involved in the map, the location (typically an internet protocol address), port (reference to a specific network port the game server is “listening” on for connections) and password that it has created for the match. The individuals using the client software 290 never see, in the preferred embodiment, any of this information. In alternative embodiments, the user may be supplied with this information and may be able to connect manually or without a password at all. Alternatively, the individuals involved in a pre-scheduled match may be emailed the password, internet protocol address and port for a game server to join at a scheduled time.
  • The client software 290 on each individual's computer then launches the game client 292 software of each individual's computer and connects them to the proper game server 300 and port using the password supplied to the client software by the match software. The game client 292 software on the individual's computer then starts, connects to the selected game server 300 on the selected port using the password as supplied. Once each individual is connected to the game server 300, the match begins.
  • As the match goes on, for a particular game, data is generated about the match. For example, as a kill is made by one individual or team, data about that death is generated. For example, for Battlefield 1942® data about which individual did what percentage of the damage to another individual in making a kill may be created. Also, data about which weapons were used in the kill by each player may be created. The time of the kill is likely logged. Throughout the game, as it is played, data may also be created such as percentages of attacks that landed or accuracy ratings for shooting in game. Titles may be attached to various activities, such as killing more than three individuals on the opposing team in a row may be dubbed a “killing spree” by a particular game. Shields and buffs (limited time enhancements to avatars within the game) may be acquired. Additional weapons or upgrades may be acquired by the players. Goals or sub-goals may be accomplished in the course of the game. All of these events and happenings generate data that is or may be recorded. For some games or game types, the game may create logs of this information. In other games or game types, a program residing on the game hosting server 296 may record relevant information or additional information not otherwise recorded by the methods employed by the game. The data generated using either of these methodologies will be referred to in the remainder of this document as a “data log.” Finally, the data concerning which individual or team won the match and under what rule, such as a certain number of kills reached or having the most kills in a set time-period, is recorded. All of this data is or may be recorded by the game server 270 or recorded by other means and stored in data logs.
  • In the preferred embodiment, at the end of the match, the chat/lobby server 294 requests that the data logs of the match be sent to the database server 302. These data logs are sent by the game hosting server 296. The preferred method of sending these data logs uses an FTP (File Transfer Protocol) client 298. These data logs will contain a great deal of information about the match, containing some or all of the data described above along with additional data about the match and players that may have been recorded during the course of the match. In the preferred embodiment, the database server 302 then compiles the data in these data logs and organizes the relevant portions of it for storage. The database server 302 then compiles or to recompiles a profile for each team and individual including the newly generated data, prior data. The most obvious statistics which may be generated from this data are number of wins and losses. Winning and loss percentages may be calculated. The individual players may be ranked within a team based upon their number of kills in all matches combined or for a more recent set time-frame. The most accurate shooting player on a particular ladder may be calculated from the database date for numerous games. The “most deadly” player on a particular ladder may be calculated using various statistics stored in the database server 302. The chat/lobby server 294 and database server 302 are used, potentially in conjunction with additional servers, to calculate various additional statistics and some or all of these are made available to the public using one or more web sites to which all individuals on a given ladder login. In the preferred embodiment, a record of every match played by each individual or team is recorded along with all relevant data. This data may be used to compile numerous other types of data and information, such as behavioral patterns, typical playtimes, player habits, player streaks or numerous other types of information.
  • This data and information is useful to the individuals on the ladder in comparing teams or individuals. The data may also be used to create more sophisticated ranking systems whereby win/loss record may not be the only factor included in the rankings. The data may also be used to more readily compare one individual player's contribution to the team or group situation than mere anecdotal evidence. Using the data generated from the match, the rankings of the two individuals, two teams or group of individuals are updated. Generally, winning a match raises the ranking on the ladder and losing generally lowers the ranking. In the preferred embodiment, win/loss record, number of forfeits, current points score (points being awarded for victories based upon the ranking of the individual or team defeated) and activity level (games being played weekly or monthly) are used to rank players or teams. A more complicated algorithm than simple win/loss percentage is used, but these algorithms are based upon the games themselves. For example, a ladder for team four versus four Battlefield 1942® might consider win/loss record, the opponents faced, the percentage of kills to death, the number of flags lost, the number of flags remaining and accuracy of each member of the team in shooting.
  • Also at the end of a match, either side may post comments about the match, both to be included in the profiles of both teams or individuals and on the forums. These comments or ratings of the other players or teams may also be incorporated into the relevant data. They may also provide feedback about the match to administrators of the competitive structure. This information, if it arouses the suspicion of the administrator may result in a review of the match and an alteration of the scores or invalidation if the match is determined to be fraudulently undertaken or if cheating was used. This review process is useful for ensuring accurate statistics and rankings.
  • In the preferred embodiment, the capability to record and/or broadcast either via the Internet or via live or recorded television a match is also included. The game server on which a match is played, for example, by two relatively-skilled teams may be monitored with software capable of “watching” the match in real-time. This software may create a feed for live Internet or television broadcast. Alternatively or additionally, the software may create a recording of a match from one or numerous players perspectives and save that file for later broadcast via the Internet or television. Additionally, in the preferred embodiment, users will be able to upload recorded portions or complete matches to a database server. This recorded match will be stored in the database server 302 database along with the data and other statistics for that match to be included in the complete record of the team's match history and profile. The profile, along with the statistics and any recorded or uploaded video or images from the match may be viewed along with the rest of the individual or team profile.
  • Administrators in this system may have varying levels of responsibility and access to portions of the site and to administrator capabilities. These range from being able to post responses on the forums to being able to create and manage groups of ladders, tournaments and leagues. Additional capabilities include the ability to remove users from the user-list, the ability to alter scores or revise scores based on user feedback or the ability to create content for the web site.
  • It will be apparent to those skilled in the art that the present invention may be practiced without these specifically enumerated details and that the preferred embodiment can be modified so as to provide additional or alternative capabilities. The foregoing description is for illustrative purposes only, and that various changes and modifications can be made to the present invention without departing from the overall spirit and scope of the present invention. The present invention is limited only by the following claims.

Claims (24)

1. A computer-based method of network interactive match assignment and server selection for an instance of a computer game, comprising the steps of:
receiving a first player in a game lobby;
receiving a second player in said game lobby;
transmitting a request from said first player to said second player to play the match;
setting up the match between said first player and said second player; and
providing information sufficient to enable said first player and said second player to play the match.
2. A computer-based method of network interactive match assignment and server selection for an instance of a computer game, comprising the steps of:
receiving a first player in a game lobby;
receiving a second player in said game lobby;
transmitting a request from said first player to said second player to play the match, wherein said transmitting step includes at least one of the following alternatives:
a) challenging said first player to the match immediately,
b) challenging said first player to the match scheduled in the future,
c) requesting that the match be automatically found and started,
d) selecting limiting criteria based upon which the match is automatically found and started
e) requesting that a scrimmage match be automatically found and started, or
f) requesting the match using communication means;
setting up the match between said first player and said second player; and
providing information sufficient to enable said first player and said second player to play the match.
3. A computer-based method of network interactive match assignment and server selection for an instance of a computer game, comprising the steps of:
receiving a first player in a game lobby;
receiving a second player in said game lobby;
transmitting a request from said first player to said second player to play the match, wherein said transmitting step includes at least one of the following alternatives:
a) challenging said first player to the match immediately,
b) challenging said first player to the match scheduled in the future,
c) requesting that a match be automatically found and started,
d) selecting limiting criteria based upon which a match is automatically found and started
e) requesting that a scrimmage match be automatically found and started, or
f) requesting a match using communication means;
using criteria selected by at least one of said first player or said second player to narrow game or game hosting server selection;
determining the latency from at least one game hosting server to at least one of said first or said second player;
selecting the game hosting server;
preparing said selected game hosting server for play by at least said first player and said second player; and
providing information sufficient to enable said first player and said second player to play the match.
4. The method of claim 1, wherein said transmitting step includes a challenge to the match from said first player to said second player.
5. The method of claim 1, wherein said transmitting step is accomplished using an automatic match-up.
6. The method of claim 1, wherein said transmitting step is accomplished automatically using criteria selected by at least one of said first player or said second player.
7. The method of claim 1, wherein said setting up step includes consideration of at least one of the following:
a) determining the latency from at least one game hosting server to at least one of said first player or said second player;
b) using criteria selected by at least one of said first player or said second player to narrow game or game hosting server selection;
c) selecting a game hosting server;
d) preparing said selected game hosting server for play of a game by at least said first player and said second player.
8. A computer-based method of choosing an interactive game hosting server on which to play an interactive game comprising the steps of:
determining the players who are to be involved in a game;
requesting that at least one available interactive game hosting server ping said players;
removing interactive game hosting servers whose combined latencies to said players are more than a predetermined amount; and
selecting an interactive game hosting server from the remaining interactive game hosting servers using predetermined criteria.
9. The method of claim 8 wherein said predetermined criteria is choosing the interactive game hosting server with the lowest combined latency among said players.
10. The method of claim 8 further comprising a step following the determining step of narrowing the list of potential interactive game hosting servers using criteria set by at least one of said players.
11. A computer-based method of collecting data pertaining to interactive games and ranking players based on the data comprising the steps of:
monitoring an interactive game as it takes place;
collecting data pertaining to said interactive game; and
using the collected data to create at least one of statistics, indications of behavioral patterns, player rankings, player profiles, server rankings or server profiles.
12. The method of claim 1, further comprising the additional steps of:
monitoring the match as it takes place;
collecting data pertaining to the match; and
using said collected data to create at least one of statistics, indications of behavioral patterns, player rankings player profiles, server rankings or server profiles.
13. A computer-based peer-to-peer method of allocating game hosting servers for a network interactive match assignment, comprising the steps of:
receiving indications of game hosting readiness from at least one game hosting server;
adding said game hosting server to a bid queue;
receiving a request for a game hosting server allocation in order to play a match;
selecting at least one game hosting server in said bid queue to bid to host the match;
collecting bids to host the match from said at least one game hosting server in said bid queue; and
selecting one of said at least one game hosting server to host the match.
14. The computer-based method of claim 13, wherein said collecting bids step comprises receiving at least one of the following from said at least one game hosting server:
current latency data;
anticipated latency data;
current central processing unit load;
anticipated central processing unit load;
maximum number of allocable matches;
number of currently allocated matches; or
current bandwidth limitations.
15. A computer-based system for network interactive match assignment and server selection for instances of computer games, comprising:
at least one coordinating server designed to enable match allocation;
means for connecting at least two match participant client computers to said coordinating server, said two match participants client computers including interactive game software capable of network match play; and
means for connecting a plurality of game hosting servers, said game hosting servers including software designed to enable a bid process to host the match.
16. A computer-based system for network interactive match assignment and server selection for instances of computer games, comprising:
at least one coordinating server designed to enable match allocation using a bid process comprising the steps of:
a) receiving indications of game hosting readiness from at least one game hosting server;
b) adding said game hosting server to a bid queue;
c) receiving a request for a game hosting server allocation in order to play a match;
d) selecting at least one game hosting server in said bid queue to bid to host the match;
e) collecting bids to host the match from said at least one game hosting server in said bid queue; and
f) selecting one of said at least one game hosting server to host the match.
means for connecting at least two match participant client computers to said coordinating server, said two match participants client computers including interactive game software capable of network match play; and
means for connecting said at least one game hosting server, said at least one game hosting server including software designed to enable said bid process to host the match.
17. A computer-based system for choosing an interactive game hosting server on which to play an interactive game comprising:
means for determining the players who are to be involved in a game;
means for requesting that at least one available interactive game hosting server ping said players;
means for removing interactive game hosting servers whose combined latencies to said players are more than a predetermined amount; and
means for selecting the remaining interactive game hosting server based upon predetermined criteria.
18. The system of claim 17 wherein said predetermined criteria is choosing the interactive game hosting server with the lowest combined latency among the players.
19. The system of claim 17, further comprising additional means for narrowing the list of potential interactive game hosting server using criteria set by at least one of said players.
20. A computer-based peer-to-peer system for allocating game hosting servers for a network interactive match assignment, comprising the steps of:
means for receiving indications of game hosting readiness from at least one game hosting server;
means for adding said game hosting server to a bid queue;
means for receiving a request for a game hosting server allocation in order to play a match;
means for selecting at least one game hosting server in said bid queue to bid to host the match;
means for collecting bids to host the match from said at least one game hosting server in said bid queue; and
means for selecting one of said at least one game hosting server to host the match.
21. The system of claim 20, wherein said collecting bids step comprises receiving at least one of the following from said at least one game hosting server:
current latency data;
anticipated latency data;
current central processing unit load;
anticipated central processing unit load;
maximum number of allocable matches;
number of currently allocated matches; or
current bandwidth limitations.
22. A computer-based system for network interactive match assignment and server selection for instances of computer games, comprising:
means for receiving a first player in a game lobby;
means for receiving a second player in said game lobby;
means for transmitting a request from said first player to said second player to play the match;
means for setting up the match between said first player and said second player; and
means for playing the match.
23. A computer-based system for network interactive match assignment and server selection for instances of computer games, comprising:
means for receiving a first player in a game lobby;
means for receiving a second player in said game lobby;
means for transmitting a request from said first player to said second player to play the match, wherein said transmitting means is capable of at least one of the following:
a) challenging said first player to the match immediately,
b) challenging said first player to the match scheduled in the future,
c) requesting that the match be automatically found and started,
d) selecting limiting criteria based upon which the match is automatically found and started
e) requesting that a scrimmage match be automatically found and started, or
f) requesting the match using communication means;
means for setting up the match between said first player and said second player; and
means for providing said first player and said second player with information sufficient to play the match.
24. A computer-based system for network interactive match assignment and server selection for instances of computer games, comprising:
means for receiving a first player in a game lobby;
means for receiving a second player in said game lobby;
means for transmitting a request from said first player to said second player to play the match, wherein said transmitting means is capable of at least one of the following:
g) challenging said first player to the match immediately,
h) challenging said first player to the match scheduled in the future,
i) requesting that the match be automatically found and started,
j) selecting limiting criteria based upon which the match is automatically found and started
k) requesting that a scrimmage match be automatically found and started, or
l) requesting the match using communication means;
means for using criteria selected by at least one of said first player or said second player to narrow game or game hosting server selection;
means for determining the latency from at least one game hosting server to at least one of said first or said second player;
means for selecting the game hosting server;
means for preparing said selected game hosting server for play by at least said first player and said second player; and
means for providing information sufficient to enable said first player and said second player to play the match.
US11/434,314 2005-05-13 2006-05-15 System and method for network interactive game match-up and server selection Abandoned US20060258463A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/434,314 US20060258463A1 (en) 2005-05-13 2006-05-15 System and method for network interactive game match-up and server selection

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68084805P 2005-05-13 2005-05-13
US11/434,314 US20060258463A1 (en) 2005-05-13 2006-05-15 System and method for network interactive game match-up and server selection

Publications (1)

Publication Number Publication Date
US20060258463A1 true US20060258463A1 (en) 2006-11-16

Family

ID=37432001

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/434,314 Abandoned US20060258463A1 (en) 2005-05-13 2006-05-15 System and method for network interactive game match-up and server selection

Country Status (2)

Country Link
US (1) US20060258463A1 (en)
WO (1) WO2006124811A2 (en)

Cited By (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060121992A1 (en) * 2004-12-07 2006-06-08 Microsoft Corporation Ubiquitous unified player identity tracking system
US20070117629A1 (en) * 2005-11-18 2007-05-24 Microsoft Corporation Integrated gamer profile across multiple devices and networks
US20070173327A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Tiered achievement system
US20070173324A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Computer-based gaming groups
US20070173321A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Method for comparing accomplishments between players
US20070173326A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Extended and editable gamer profile
US20070173323A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Computer-based gaming teams
US20070191102A1 (en) * 2006-02-16 2007-08-16 Microsoft Corporation Tournament matchups for a multiplayer environment
US20070191101A1 (en) * 2006-02-16 2007-08-16 Microsoft Corporation Quickly providing good matchups
US20080081698A1 (en) * 2006-09-29 2008-04-03 Wormald Christopher R Im contact list entry as a game in progress designate
US20080102933A1 (en) * 2006-10-26 2008-05-01 Killian Jones Systems and methods for organizing and distributing revenue within online communities
US20080281765A1 (en) * 2007-05-11 2008-11-13 Safe Banking Systems, Llc Method of Ranking Politically Exposed Persons and Other Heightened Risk Persons and Entities
US20090098937A1 (en) * 2007-10-12 2009-04-16 Microsoft Corporation Adaptive tree visualization for tournament-style brackets
US20090119730A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System for combining a plurality of views of real-time streaming interactive video
US20090119736A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System and method for compressing streaming interactive video
US20090118019A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US20090118017A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. Hosting and broadcasting virtual events using streaming interactive video
US20090119731A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System for acceleration of web page delivery
US20090125968A1 (en) * 2002-12-10 2009-05-14 Onlive, Inc. System for combining recorded application state with application streaming interactive video output
WO2009073797A1 (en) * 2007-12-05 2009-06-11 Onlive, Inc. Method for user session transitioning among streaming interactive video servers
US20090299960A1 (en) * 2007-12-21 2009-12-03 Lineberger William B Methods, systems, and computer program products for automatically modifying a virtual environment based on user profile information
US20090325712A1 (en) * 2008-06-28 2009-12-31 Microsoft Corporation Player character matchmaking with distributed peer-to-peer functionality
US20090325709A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Game Clan Matchmaking
US20100056280A1 (en) * 2008-09-04 2010-03-04 Microsoft Corporation Method and system for an integrated platform wide party system within a multiplayer gaming environment
US20100057877A1 (en) * 2007-07-13 2010-03-04 Rui Li Method for Online Game System Triggering Instant Messaging Operation and Online Game System
US20100088246A1 (en) * 2008-10-02 2010-04-08 Lim Michael Z System for, and method of, managing a social network
EP2184090A1 (en) * 2007-08-08 2010-05-12 Konami Digital Entertainment Co., Ltd. Network game system, method for controlling network game system, program, and information storage medium
US20100146271A1 (en) * 2007-06-29 2010-06-10 Tencent Technology (Shenzhen) Company Limited Service Accessing Control Method, Terminal And System
US20100173712A1 (en) * 2009-01-08 2010-07-08 Sony Computer Entertainment America Inc. Automatic player information generation for interactive entertainment
US20100216536A1 (en) * 2007-10-17 2010-08-26 Gagner Mark B Gaming system having challenge gameplay
WO2010137010A1 (en) * 2009-05-27 2010-12-02 Playtech Software Limited A system for computerized multiplayer tournament gaming and a method thereof
US20110106885A1 (en) * 2009-10-29 2011-05-05 Cisco Technology, Inc. Methods and apparatus for supporting multiple party login into a single session
US20110201414A1 (en) * 2008-10-24 2011-08-18 Wms Gaming, Inc. Controlling and presenting online wagering games
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US20120209915A1 (en) * 2007-04-16 2012-08-16 Samsung Electronics Co., Ltd. Method and apparatus for transmitting data in a peer-to-peer network
US20120220377A1 (en) * 2011-02-25 2012-08-30 Andres Cantor Methods and systems for assembly of crews for facilitating execution of social game activity
US20120231888A1 (en) * 2011-03-09 2012-09-13 Konami Digital Entertainment Co., Ltd. Game control device, game program, game control method and game system
US20120244949A1 (en) * 2011-03-24 2012-09-27 Peter Matthew Redling Interactivity Platform for Multimedia Transmission, Broadcast TV, Cable, Radio, and Live Events
US8277325B2 (en) 2004-12-07 2012-10-02 Microsoft Corporation Game achievements system
US8303410B2 (en) 2010-11-20 2012-11-06 Telenav, Inc. Navigation system having preference region adjustment mechanism and method of operation thereof
US8316020B1 (en) * 2008-12-09 2012-11-20 Amdocs Software Systems Limited System, method, and computer program for creating a group profile based on user profile attributes and a rule
US20120323348A1 (en) * 2011-06-17 2012-12-20 Nhn Corporation Method, system and computer readable recording medium for providing ranking of game group
WO2012174656A1 (en) * 2011-06-24 2012-12-27 Intertaintech Corporation System and method for conducting online video game tournaments
US20130017870A1 (en) * 2011-07-12 2013-01-17 Cbs Interactive Inc. Game navigation interface for electronic content
US8366552B2 (en) 2002-12-10 2013-02-05 Ol2, Inc. System and method for multi-stream video compression
US8468575B2 (en) 2002-12-10 2013-06-18 Ol2, Inc. System for recursive recombination of streaming interactive video
US8495678B2 (en) 2002-12-10 2013-07-23 Ol2, Inc. System for reporting recorded video preceding system failures
US8506402B2 (en) 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
US20130217501A1 (en) * 2012-02-16 2013-08-22 Microsoft Corporation Presenting application challenges outside an application execution context
US8526490B2 (en) 2002-12-10 2013-09-03 Ol2, Inc. System and method for video compression using feedback including data related to the successful receipt of video content
US8549574B2 (en) 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US8560331B1 (en) 2010-08-02 2013-10-15 Sony Computer Entertainment America Llc Audio acceleration
US20130324257A1 (en) * 2012-06-01 2013-12-05 Nintendo Co., Ltd. Posted information sharing system, game application executing system, storage medium, and information-processing method
US20130337909A1 (en) * 2012-06-13 2013-12-19 Oracle International Corporation Method and mechanism for implementing a gamification application
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US20130344967A1 (en) * 2008-10-08 2013-12-26 Sony Computer Entertainment Inc. Game Control Program, Game Device, Game Server, And Game Control Method
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
US20140164166A1 (en) * 2012-12-06 2014-06-12 International Business Machines Corporation Providing information technology resiliency in a cloud-based services marketplace
US20140162786A1 (en) * 2012-12-06 2014-06-12 Matthew James Hartleip Online commodity competition
US8840476B2 (en) 2008-12-15 2014-09-23 Sony Computer Entertainment America Llc Dual-mode program execution
US8845437B2 (en) * 2012-04-30 2014-09-30 Microsoft Corporation Gaming challenges which use leaderboards that rank challenge participants
US20140317285A1 (en) * 2011-11-21 2014-10-23 Sony Computer Entertainment Inc. Information processing system
US8876606B2 (en) 2004-12-07 2014-11-04 Microsoft Corporation User-centric method of aggregating information sources to reinforce digital identity
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
US20140349758A1 (en) * 2012-02-17 2014-11-27 Konami Digital Entertainment Co., Ltd. Game device, computer-readable recording medium, and game management method
US20140351269A1 (en) * 2011-09-13 2014-11-27 Monk Akarshala Design Private Limited Ability banks in a modular learning system
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
US8949922B2 (en) 2002-12-10 2015-02-03 Ol2, Inc. System for collaborative conferencing using streaming interactive video
US8964830B2 (en) 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US9003461B2 (en) 2002-12-10 2015-04-07 Ol2, Inc. Streaming interactive video integrated with recorded video segments
US9032465B2 (en) 2002-12-10 2015-05-12 Ol2, Inc. Method for multicasting views of real-time streaming interactive video
US20150165310A1 (en) * 2013-12-17 2015-06-18 Microsoft Corporation Dynamic story driven gameworld creation
US9061207B2 (en) 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
US20150174478A1 (en) * 2013-12-20 2015-06-25 Playcast Media Systems, Ltd. System and method for multiplayer gaming
US20150180958A1 (en) * 2002-07-31 2015-06-25 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US9138644B2 (en) 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US9168457B2 (en) 2010-09-14 2015-10-27 Sony Computer Entertainment America Llc System and method for retaining system state
US9192859B2 (en) 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US20150375113A1 (en) * 2014-06-30 2015-12-31 Microsoft Corporation Assigning A Player To A Machine
US20160001186A1 (en) * 2014-07-03 2016-01-07 Activision Publishing, Inc. Group composition matchmaking system and method for multiplayer video games
US9314691B2 (en) 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US20160119390A1 (en) * 2011-03-04 2016-04-28 Viafoura Systems and methods for interactive content generation
CN105721450A (en) * 2016-01-27 2016-06-29 网易(杭州)网络有限公司 Method, device and system for logging in network game
US20160236095A1 (en) * 2011-06-16 2016-08-18 K-Innovation Method, system and computer readable recording medium for providing a game ranking in a game service platform
US9446305B2 (en) 2002-12-10 2016-09-20 Sony Interactive Entertainment America Llc System and method for improving the graphics performance of hosted applications
US20170056766A1 (en) * 2015-08-27 2017-03-02 Sony Interactive Entertainment Network America Llc Electronic processing system with social network mechanism and method of operation thereof
US20170100671A1 (en) * 2014-05-22 2017-04-13 Redduck Inc. System and method for operating competition game
US9762631B2 (en) 2002-05-17 2017-09-12 Sony Interactive Entertainment America Llc Managing participants in an online session
US9776091B1 (en) * 2014-05-16 2017-10-03 Electronic Arts Inc. Systems and methods for hardware-based matchmaking
US9878240B2 (en) 2010-09-13 2018-01-30 Sony Interactive Entertainment America Llc Add-on management methods
US20180111051A1 (en) * 2016-10-21 2018-04-26 Electronic Arts Inc. Multiplayer video game matchmaking system and methods
US20180147498A1 (en) * 2007-09-04 2018-05-31 Sony Interactive Entertainment America Llc System and method for identifying compatible users
US9993735B2 (en) 2016-03-08 2018-06-12 Electronic Arts Inc. Multiplayer video game matchmaking optimization
US10001896B2 (en) 2014-09-25 2018-06-19 Oracle International Corporation Gamification platform
US10091281B1 (en) 2016-12-01 2018-10-02 Electronics Arts Inc. Multi-user application host-system selection system
US10201760B2 (en) 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
US10207191B2 (en) 2005-05-17 2019-02-19 Electronic Arts Inc. Collaborative online gaming system and method
US10561945B2 (en) 2017-09-27 2020-02-18 Activision Publishing, Inc. Methods and systems for incentivizing team cooperation in multiplayer gaming environments
US10668381B2 (en) 2014-12-16 2020-06-02 Activision Publishing, Inc. System and method for transparently styling non-player characters in a multiplayer video game
US10695671B2 (en) 2018-09-28 2020-06-30 Sony Interactive Entertainment LLC Establishing and managing multiplayer sessions
US10729975B1 (en) 2016-03-30 2020-08-04 Electronic Arts Inc. Network connection selection processing system
WO2020163941A1 (en) * 2019-02-11 2020-08-20 Technologies Edgegap Inc. Method and site selection controller for selecting a serving site for a session
US10765952B2 (en) 2018-09-21 2020-09-08 Sony Interactive Entertainment LLC System-level multiplayer matchmaking
US10835827B1 (en) * 2018-07-25 2020-11-17 Facebook, Inc. Initiating real-time games in video communications
US10864443B2 (en) 2017-12-22 2020-12-15 Activision Publishing, Inc. Video game content aggregation, normalization, and publication systems and methods
US10881950B2 (en) 2013-07-30 2021-01-05 Gree, Inc. Program, method, and system of transmitting or receiving message
US10974150B2 (en) 2017-09-27 2021-04-13 Activision Publishing, Inc. Methods and systems for improved content customization in multiplayer gaming environments
US10987588B2 (en) 2016-11-29 2021-04-27 Activision Publishing, Inc. System and method for optimizing virtual games
US11040286B2 (en) 2017-09-27 2021-06-22 Activision Publishing, Inc. Methods and systems for improved content generation in multiplayer gaming environments
US11083959B2 (en) * 2018-02-06 2021-08-10 Gree, Inc. Game processing system, method of processing game, and storage medium storing program for processing game
USRE48700E1 (en) 2002-04-26 2021-08-24 Sony Interactive Entertainment America Llc Method for ladder ranking in a game
US11097193B2 (en) 2019-09-11 2021-08-24 Activision Publishing, Inc. Methods and systems for increasing player engagement in multiplayer gaming environments
JPWO2020153232A1 (en) * 2019-01-24 2021-09-30 株式会社ソニー・インタラクティブエンタテインメント Information processing device, control method of information processing device, and program
US11138580B1 (en) 2021-01-05 2021-10-05 Mythical, Inc. Systems and methods for peer-to-peer exchanges of non-fungible digital assets
US11141664B1 (en) 2021-02-25 2021-10-12 Mythical, Inc. Systems and methods for a seller-initiated peer-to-peer exchange of a non-fungible digital asset
US11207604B1 (en) 2021-02-25 2021-12-28 Mythical, Inc. Systems and methods to incentivize particular in-game user behaviors and particular user activities within an online game
US11260304B1 (en) * 2021-04-08 2022-03-01 Mythical, Inc. Provable fairness for challenges among players in an online gaming platform
US11338209B2 (en) * 2020-04-23 2022-05-24 Mc Master Of Ceremony Inc Methods, systems, apparatuses, and devices for facilitating conducting a competition between participants
US11351459B2 (en) 2020-08-18 2022-06-07 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values
US11524237B2 (en) 2015-05-14 2022-12-13 Activision Publishing, Inc. Systems and methods for distributing the generation of nonplayer characters across networked end user devices for use in simulated NPC gameplay sessions
US11524234B2 (en) 2020-08-18 2022-12-13 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically modified fields of view
US11571618B1 (en) * 2021-08-16 2023-02-07 Amazon Technologies, Inc. Multi-region game server fleets
US11571619B1 (en) * 2021-08-16 2023-02-07 Amazon Technologies, Inc. Cross-region management of game server fleets
WO2023055288A1 (en) * 2021-10-01 2023-04-06 Garena Online Private Limited Method for assigning a server to users in a multiplayer electronic game
US11638879B2 (en) 2018-02-06 2023-05-02 Gree, Inc. Game processing system, method of processing game, and storage medium storing program for processing game
US20230182023A1 (en) * 2018-11-19 2023-06-15 Josiah Eatedali Social recommendation, distribution, and display of video game-related products
US11679330B2 (en) 2018-12-18 2023-06-20 Activision Publishing, Inc. Systems and methods for generating improved non-player characters
US11687899B2 (en) 2021-01-05 2023-06-27 Mythical, Inc. Systems and methods for sharing user inventory information to initiate a peer-to-peer exchange of a non-fungible digital asset
US11712627B2 (en) 2019-11-08 2023-08-01 Activision Publishing, Inc. System and method for providing conditional access to virtual gaming items
US11925871B2 (en) 2019-03-28 2024-03-12 British Telecommunications Public Limited Company Competitor selection

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176124B2 (en) 2008-12-04 2012-05-08 Disney Enterprises, Inc. Communication hub for video game development systems having a video game development tool and video game platforms with communication libraries
EP2193828B1 (en) * 2008-12-04 2012-06-13 Disney Enterprises, Inc. Communication hub for video game development systems
US8317606B2 (en) 2008-12-04 2012-11-27 Disney Enterprises, Inc. Live authoring method for real time development of video games
US8382591B2 (en) 2010-06-03 2013-02-26 Ol2, Inc. Graphical user interface, system and method for implementing a game controller on a touch-screen device
US8591334B2 (en) 2010-06-03 2013-11-26 Ol2, Inc. Graphical user interface, system and method for implementing a game controller on a touch-screen device
US8788243B2 (en) 2011-02-14 2014-07-22 Disney Enterprises, Inc. Performance metrics gathering from multiple video game platforms

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828843A (en) * 1996-03-21 1998-10-27 Mpath Interactive, Inc. Object-oriented method for matching clients together with servers according to attributes included in join request
US5951694A (en) * 1995-06-07 1999-09-14 Microsoft Corporation Method of redirecting a client service session to a second application server without interrupting the session by forwarding service-specific information to the second server
US6015348A (en) * 1996-10-18 2000-01-18 Starwave Corporation Scalable game server architecture
US6038599A (en) * 1997-04-23 2000-03-14 Mpath Interactive, Inc. Latency server and matchmaker
US6152824A (en) * 1997-03-06 2000-11-28 Mpath Interactive, Inc. Online gaming architecture
US6352479B1 (en) * 1999-08-31 2002-03-05 Nvidia U.S. Investment Company Interactive gaming server and online community forum
US20020086732A1 (en) * 2000-07-03 2002-07-04 Yahoo! Inc. Game server for use in connection with a messenger server
US20050209002A1 (en) * 2004-03-16 2005-09-22 Garrett Blythe System and method for facilitating multiplayer online gaming
US7050868B1 (en) * 2005-01-24 2006-05-23 Microsoft Corporation Bayesian scoring

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040097287A1 (en) * 2002-11-14 2004-05-20 Richard Postrel Method and system for gaming over a computer network

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951694A (en) * 1995-06-07 1999-09-14 Microsoft Corporation Method of redirecting a client service session to a second application server without interrupting the session by forwarding service-specific information to the second server
US5828843A (en) * 1996-03-21 1998-10-27 Mpath Interactive, Inc. Object-oriented method for matching clients together with servers according to attributes included in join request
US5894556A (en) * 1996-03-21 1999-04-13 Mpath Interactive, Inc. Network match maker matching requesters based on communication attribute between the requesters
US6345297B1 (en) * 1996-03-21 2002-02-05 Hearme Network match maker
US6128660A (en) * 1996-03-21 2000-10-03 Hearme Network match maker
US6015348A (en) * 1996-10-18 2000-01-18 Starwave Corporation Scalable game server architecture
US6152824A (en) * 1997-03-06 2000-11-28 Mpath Interactive, Inc. Online gaming architecture
US6304902B1 (en) * 1997-04-23 2001-10-16 Hearme Latency server and matchmaker
US6038599A (en) * 1997-04-23 2000-03-14 Mpath Interactive, Inc. Latency server and matchmaker
US6352479B1 (en) * 1999-08-31 2002-03-05 Nvidia U.S. Investment Company Interactive gaming server and online community forum
US20020086732A1 (en) * 2000-07-03 2002-07-04 Yahoo! Inc. Game server for use in connection with a messenger server
US20050209002A1 (en) * 2004-03-16 2005-09-22 Garrett Blythe System and method for facilitating multiplayer online gaming
US7050868B1 (en) * 2005-01-24 2006-05-23 Microsoft Corporation Bayesian scoring

Cited By (265)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE48803E1 (en) 2002-04-26 2021-11-02 Sony Interactive Entertainment America Llc Method for ladder ranking in a game
USRE48802E1 (en) 2002-04-26 2021-11-02 Sony Interactive Entertainment America Llc Method for ladder ranking in a game
USRE48700E1 (en) 2002-04-26 2021-08-24 Sony Interactive Entertainment America Llc Method for ladder ranking in a game
US10659500B2 (en) 2002-05-17 2020-05-19 Sony Interactive Entertainment America Llc Managing participants in an online session
US9762631B2 (en) 2002-05-17 2017-09-12 Sony Interactive Entertainment America Llc Managing participants in an online session
US20150180958A1 (en) * 2002-07-31 2015-06-25 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
US9729621B2 (en) * 2002-07-31 2017-08-08 Sony Interactive Entertainment America Llc Systems and methods for seamless host migration
US9084936B2 (en) 2002-12-10 2015-07-21 Sony Computer Entertainment America Llc System and method for protecting certain types of multimedia data transmitted over a communication channel
US9108107B2 (en) 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US8840475B2 (en) 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US8893207B2 (en) 2002-12-10 2014-11-18 Ol2, Inc. System and method for compressing streaming interactive video
US8832772B2 (en) 2002-12-10 2014-09-09 Ol2, Inc. System for combining recorded application state with application streaming interactive video output
US8949922B2 (en) 2002-12-10 2015-02-03 Ol2, Inc. System for collaborative conferencing using streaming interactive video
US8769594B2 (en) 2002-12-10 2014-07-01 Ol2, Inc. Video compression system and method for reducing the effects of packet loss over a communication channel
US20090119730A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System for combining a plurality of views of real-time streaming interactive video
US20090119736A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System and method for compressing streaming interactive video
US20090118019A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US20090118017A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. Hosting and broadcasting virtual events using streaming interactive video
US20090119731A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System for acceleration of web page delivery
US20090125968A1 (en) * 2002-12-10 2009-05-14 Onlive, Inc. System for combining recorded application state with application streaming interactive video output
US8953675B2 (en) 2002-12-10 2015-02-10 Ol2, Inc. Tile-based system and method for compressing video
US8964830B2 (en) 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
US9003461B2 (en) 2002-12-10 2015-04-07 Ol2, Inc. Streaming interactive video integrated with recorded video segments
US9032465B2 (en) 2002-12-10 2015-05-12 Ol2, Inc. Method for multicasting views of real-time streaming interactive video
US8661496B2 (en) 2002-12-10 2014-02-25 Ol2, Inc. System for combining a plurality of views of real-time streaming interactive video
US9061207B2 (en) 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US8606942B2 (en) 2002-12-10 2013-12-10 Ol2, Inc. System and method for intelligently allocating client requests to server centers
US8881215B2 (en) 2002-12-10 2014-11-04 Ol2, Inc. System and method for compressing video based on detected data rate of a communication channel
US9155962B2 (en) 2002-12-10 2015-10-13 Sony Computer Entertainment America Llc System and method for compressing video by allocating bits to image tiles based on detected intraframe motion or scene complexity
US8549574B2 (en) 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US8526490B2 (en) 2002-12-10 2013-09-03 Ol2, Inc. System and method for video compression using feedback including data related to the successful receipt of video content
US9192859B2 (en) 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US8495678B2 (en) 2002-12-10 2013-07-23 Ol2, Inc. System for reporting recorded video preceding system failures
US8468575B2 (en) 2002-12-10 2013-06-18 Ol2, Inc. System for recursive recombination of streaming interactive video
US8387099B2 (en) 2002-12-10 2013-02-26 Ol2, Inc. System for acceleration of web page delivery
US8366552B2 (en) 2002-12-10 2013-02-05 Ol2, Inc. System and method for multi-stream video compression
US9272209B2 (en) 2002-12-10 2016-03-01 Sony Computer Entertainment America Llc Streaming interactive video client apparatus
US10201760B2 (en) 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
US9314691B2 (en) 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US9420283B2 (en) 2002-12-10 2016-08-16 Sony Interactive Entertainment America Llc System and method for selecting a video encoding format based on feedback data
US10130891B2 (en) 2002-12-10 2018-11-20 Sony Interactive Entertainment America Llc Video compression system and method for compensating for bandwidth limitations of a communication channel
US9138644B2 (en) 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US9446305B2 (en) 2002-12-10 2016-09-20 Sony Interactive Entertainment America Llc System and method for improving the graphics performance of hosted applications
US8277325B2 (en) 2004-12-07 2012-10-02 Microsoft Corporation Game achievements system
US20120009999A1 (en) * 2004-12-07 2012-01-12 Microsoft Corporation Ubiquitous unified player identity tracking system
US20120264509A1 (en) * 2004-12-07 2012-10-18 Microsoft Corporation Application interface for tracking player identity
US20120270645A1 (en) * 2004-12-07 2012-10-25 Microsoft Corporation Contributing Data to an On-Line Gamer Database
US20140162773A1 (en) * 2004-12-07 2014-06-12 Microsoft Corporation Application Interface for Tracking Player Identity
US8485905B2 (en) * 2004-12-07 2013-07-16 Microsoft Corporation Contributing data to an on-line gamer database
US8231472B2 (en) * 2004-12-07 2012-07-31 Microsoft Corporation Ubiquitous unified player identity tracking system
US8235818B2 (en) 2004-12-07 2012-08-07 Microsoft Corporation Ubiquitous unified player identity tracking system
US7621813B2 (en) * 2004-12-07 2009-11-24 Microsoft Corporation Ubiquitous unified player tracking system
US11154784B2 (en) * 2004-12-07 2021-10-26 Microsoft Technology Licensing, Llc Application interface for tracking player identity
US9144741B2 (en) * 2004-12-07 2015-09-29 Microsoft Technology Licensing, Llc Application interface for tracking player identity
US20100035681A1 (en) * 2004-12-07 2010-02-11 Michal Bortnik Ubiquitous unified player identity tracking system
US8500560B2 (en) * 2004-12-07 2013-08-06 Microsoft Corporation Application interface for tracking player identity
US8876606B2 (en) 2004-12-07 2014-11-04 Microsoft Corporation User-centric method of aggregating information sources to reinforce digital identity
US7837561B2 (en) 2004-12-07 2010-11-23 Microsoft Corporation Ubiquitous unified player identity tracking system
US8454443B2 (en) 2004-12-07 2013-06-04 Microsoft Corporation Game achievements system
US9367543B2 (en) 2004-12-07 2016-06-14 Microsoft Technology Licensing, Llc Game achievements system
US8323112B2 (en) 2004-12-07 2012-12-04 Microsoft Corporation Game achievements system
US9355097B2 (en) 2004-12-07 2016-05-31 Microsoft Technology Licensing, Llc Game achievements system
US20060121992A1 (en) * 2004-12-07 2006-06-08 Microsoft Corporation Ubiquitous unified player identity tracking system
US20110045912A1 (en) * 2004-12-07 2011-02-24 Microsoft Corporation Ubiquitous unified player identity tracking system
US10391405B2 (en) 2004-12-07 2019-08-27 Microsoft Technology Licensing, Llc Application interface for tracking player identity
US10207191B2 (en) 2005-05-17 2019-02-19 Electronic Arts Inc. Collaborative online gaming system and method
US10967276B2 (en) 2005-05-17 2021-04-06 Electronic Arts Inc. Collaborative online gaming system and method
US20070117629A1 (en) * 2005-11-18 2007-05-24 Microsoft Corporation Integrated gamer profile across multiple devices and networks
US9724612B2 (en) * 2005-11-18 2017-08-08 Microsoft Technology Licensing, Llc Integrated gamer profile across multiple devices and networks
US20070173324A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Computer-based gaming groups
US20110269551A1 (en) * 2006-01-20 2011-11-03 Microsoft Corporation Computer-based gaming teams
US8469805B2 (en) * 2006-01-20 2013-06-25 Microsoft Corporation Tiered achievement system
US8986124B2 (en) 2006-01-20 2015-03-24 Microsoft Technology Licensing, Llc Extended and editable gamer profile
US20070173323A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Computer-based gaming teams
US20070173327A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Tiered achievement system
US9011252B2 (en) 2006-01-20 2015-04-21 Microsoft Technology Licensing, Llc Extended and editable gamer profile
US20070173326A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Extended and editable gamer profile
US7997987B2 (en) * 2006-01-20 2011-08-16 Microsoft Corporation Computer-based gaming teams
US8118678B2 (en) * 2006-01-20 2012-02-21 Microsoft Corporation Extended and editable gamer profile
US8585507B2 (en) 2006-01-20 2013-11-19 Microsoft Corporation Extended and editable gamer profile
US20070173321A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Method for comparing accomplishments between players
US8602897B2 (en) 2006-01-20 2013-12-10 Microsoft Corporation Extended and editable gamer profile
US20070191102A1 (en) * 2006-02-16 2007-08-16 Microsoft Corporation Tournament matchups for a multiplayer environment
US20070191101A1 (en) * 2006-02-16 2007-08-16 Microsoft Corporation Quickly providing good matchups
US9272210B2 (en) 2006-09-29 2016-03-01 Blackberry Limited IM contact list entry as a game in progress designate
US20110077084A1 (en) * 2006-09-29 2011-03-31 Research In Motion Limited Im contact list entry as a game in progress designatte
US20080081698A1 (en) * 2006-09-29 2008-04-03 Wormald Christopher R Im contact list entry as a game in progress designate
US7861175B2 (en) * 2006-09-29 2010-12-28 Research In Motion Limited IM contact list entry as a game in progress designate
US8677250B2 (en) 2006-09-29 2014-03-18 Blackberry Limited System and method for switching between an instant messaging conversation and a game in progress
US9266024B2 (en) 2006-09-29 2016-02-23 Blackberry Limited IM contact list entry as a game in progress designate
US20080102933A1 (en) * 2006-10-26 2008-05-01 Killian Jones Systems and methods for organizing and distributing revenue within online communities
US20120209915A1 (en) * 2007-04-16 2012-08-16 Samsung Electronics Co., Ltd. Method and apparatus for transmitting data in a peer-to-peer network
US8984096B2 (en) * 2007-04-16 2015-03-17 Samsung Electronics Co., Ltd. Method and apparatus for transmitting data in a peer-to-peer network
WO2008141161A1 (en) * 2007-05-11 2008-11-20 Safe Banking Systems, Llc Method of ranking politically exposed persons and other heightened risk persons and entities
US8069126B2 (en) 2007-05-11 2011-11-29 Safe Banking Systems, Llc Method of ranking politically exposed persons and other heightened risk persons and entities
US20080281765A1 (en) * 2007-05-11 2008-11-13 Safe Banking Systems, Llc Method of Ranking Politically Exposed Persons and Other Heightened Risk Persons and Entities
US8656151B2 (en) * 2007-06-29 2014-02-18 Tencent Technology (Shenzhen) Company Limited Service accessing control method, terminal and system
US20100146271A1 (en) * 2007-06-29 2010-06-10 Tencent Technology (Shenzhen) Company Limited Service Accessing Control Method, Terminal And System
US20100057877A1 (en) * 2007-07-13 2010-03-04 Rui Li Method for Online Game System Triggering Instant Messaging Operation and Online Game System
US20110098117A1 (en) * 2007-08-08 2011-04-28 Konami Digital Entertainment Co., Ltd. Network game system, method for controlling network game system, program, and information storage medium
EP2184090A1 (en) * 2007-08-08 2010-05-12 Konami Digital Entertainment Co., Ltd. Network game system, method for controlling network game system, program, and information storage medium
EP2184090A4 (en) * 2007-08-08 2010-10-13 Konami Digital Entertainment Network game system, method for controlling network game system, program, and information storage medium
US20180147498A1 (en) * 2007-09-04 2018-05-31 Sony Interactive Entertainment America Llc System and method for identifying compatible users
US10369476B2 (en) * 2007-09-04 2019-08-06 Sony Interactive Entertainment America Llc System and method for identifying compatible users
US10547670B2 (en) 2007-10-05 2020-01-28 Sony Interactive Entertainment America Llc Systems and methods for seamless host migration
US11228638B2 (en) 2007-10-05 2022-01-18 Sony Interactive Entertainment LLC Systems and methods for seamless host migration
US10063631B2 (en) 2007-10-05 2018-08-28 Sony Interactive Entertainment America Llc Systems and methods for seamless host migration
US20090098937A1 (en) * 2007-10-12 2009-04-16 Microsoft Corporation Adaptive tree visualization for tournament-style brackets
US8568222B2 (en) * 2007-10-17 2013-10-29 Wms Gaming Inc. Gaming system having challenge gameplay
US20100216536A1 (en) * 2007-10-17 2010-08-26 Gagner Mark B Gaming system having challenge gameplay
US20150360132A1 (en) * 2007-12-05 2015-12-17 Sony Computer Entertainment America Llc Method for User Session Transitioning Among Streaming Interactive Video Servers
CN101888884A (en) * 2007-12-05 2010-11-17 生命力有限公司 Method for user session transitioning among streaming interactive video servers
WO2009073797A1 (en) * 2007-12-05 2009-06-11 Onlive, Inc. Method for user session transitioning among streaming interactive video servers
JP2011507077A (en) * 2007-12-05 2011-03-03 オンライブ インコーポレイテッド How to migrate user sessions between streaming interactive video servers
RU2491769C2 (en) * 2007-12-05 2013-08-27 Ол2, Инк. Method for user session transitioning among streaming interactive video servers
US11298612B2 (en) * 2007-12-05 2022-04-12 Sony Interactive Entertainment LLC Method for user session transitioning among streaming interactive video servers
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US20090299960A1 (en) * 2007-12-21 2009-12-03 Lineberger William B Methods, systems, and computer program products for automatically modifying a virtual environment based on user profile information
US20090325709A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Game Clan Matchmaking
US20090325712A1 (en) * 2008-06-28 2009-12-31 Microsoft Corporation Player character matchmaking with distributed peer-to-peer functionality
US20100056280A1 (en) * 2008-09-04 2010-03-04 Microsoft Corporation Method and system for an integrated platform wide party system within a multiplayer gaming environment
US9861896B2 (en) * 2008-09-04 2018-01-09 Microsoft Technology Licensing, Llc Method and system for an integrated platform wide party system within a multiplayer gaming environment
US20100088246A1 (en) * 2008-10-02 2010-04-08 Lim Michael Z System for, and method of, managing a social network
US20130344967A1 (en) * 2008-10-08 2013-12-26 Sony Computer Entertainment Inc. Game Control Program, Game Device, Game Server, And Game Control Method
US9522334B2 (en) * 2008-10-08 2016-12-20 Sony Corporation Game control program, game device, game server, and game control method
US8668586B2 (en) * 2008-10-24 2014-03-11 Wms Gaming, Inc. Controlling and presenting online wagering games
US20110201414A1 (en) * 2008-10-24 2011-08-18 Wms Gaming, Inc. Controlling and presenting online wagering games
US8316020B1 (en) * 2008-12-09 2012-11-20 Amdocs Software Systems Limited System, method, and computer program for creating a group profile based on user profile attributes and a rule
US8840476B2 (en) 2008-12-15 2014-09-23 Sony Computer Entertainment America Llc Dual-mode program execution
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
US20100173712A1 (en) * 2009-01-08 2010-07-08 Sony Computer Entertainment America Inc. Automatic player information generation for interactive entertainment
US8157653B2 (en) * 2009-01-08 2012-04-17 Sony Computer Entertainment America Inc. Automatic player information generation for interactive entertainment
US8998723B2 (en) 2009-01-08 2015-04-07 Sony Computer Entertainment America, LLC Automatic player information generation for interactive entertainment
WO2010137010A1 (en) * 2009-05-27 2010-12-02 Playtech Software Limited A system for computerized multiplayer tournament gaming and a method thereof
US8506402B2 (en) 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
US9723319B1 (en) 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
US9584575B2 (en) 2009-06-01 2017-02-28 Sony Interactive Entertainment America Llc Qualified video delivery
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US9203685B1 (en) 2009-06-01 2015-12-01 Sony Computer Entertainment America Llc Qualified video delivery methods
US20110106885A1 (en) * 2009-10-29 2011-05-05 Cisco Technology, Inc. Methods and apparatus for supporting multiple party login into a single session
US8560331B1 (en) 2010-08-02 2013-10-15 Sony Computer Entertainment America Llc Audio acceleration
US8676591B1 (en) 2010-08-02 2014-03-18 Sony Computer Entertainment America Llc Audio deceleration
US9878240B2 (en) 2010-09-13 2018-01-30 Sony Interactive Entertainment America Llc Add-on management methods
US10039978B2 (en) 2010-09-13 2018-08-07 Sony Interactive Entertainment America Llc Add-on management systems
US9168457B2 (en) 2010-09-14 2015-10-27 Sony Computer Entertainment America Llc System and method for retaining system state
US9076291B2 (en) 2010-11-20 2015-07-07 Telenav, Inc. Navigation system having preference region adjustment mechanism and method of operation thereof
US8303410B2 (en) 2010-11-20 2012-11-06 Telenav, Inc. Navigation system having preference region adjustment mechanism and method of operation thereof
US9744463B1 (en) * 2011-02-25 2017-08-29 Zynga Inc. Apparatus, method and system for crew mechanics in multiplayer games
US9707486B1 (en) 2011-02-25 2017-07-18 Zynga Inc. Apparatus, method and system for crew mechanics in multiplayer games
US20120220377A1 (en) * 2011-02-25 2012-08-30 Andres Cantor Methods and systems for assembly of crews for facilitating execution of social game activity
US9757654B2 (en) * 2011-02-25 2017-09-12 Zynga Inc. Methods and systems for assembly of crews for facilitating execution of social game activity
US20160119390A1 (en) * 2011-03-04 2016-04-28 Viafoura Systems and methods for interactive content generation
US20120231888A1 (en) * 2011-03-09 2012-09-13 Konami Digital Entertainment Co., Ltd. Game control device, game program, game control method and game system
US9485328B2 (en) * 2011-03-09 2016-11-01 Konami Digital Entertainment Co., Ltd. Game control device, game program, game control method and game system
US20120244949A1 (en) * 2011-03-24 2012-09-27 Peter Matthew Redling Interactivity Platform for Multimedia Transmission, Broadcast TV, Cable, Radio, and Live Events
US20190111345A1 (en) * 2011-06-16 2019-04-18 K-Innovation Method, system and computer readable recording medium for providing a game ranking in a game service platform
US20160236095A1 (en) * 2011-06-16 2016-08-18 K-Innovation Method, system and computer readable recording medium for providing a game ranking in a game service platform
US20180147497A1 (en) * 2011-06-16 2018-05-31 K-Innovation Method, system and computer readable recording medium for providing a game ranking in a game service platform
US11389734B2 (en) * 2011-06-16 2022-07-19 K-Innovation Method, system and computer readable recording medium for providing a game ranking in a game service platform
US10226706B2 (en) * 2011-06-16 2019-03-12 K-Innovation Method, system and computer readable recording medium for providing a game ranking in a game service platform
US10625164B2 (en) * 2011-06-16 2020-04-21 K-Innovation Method, system and computer readable recording medium for providing a game ranking in a game service platform
US9908054B2 (en) * 2011-06-16 2018-03-06 K-Innovation Method, system and computer readable recording medium for providing a game ranking in a game service platform
US20160023119A1 (en) * 2011-06-17 2016-01-28 Nhn Entertainment Corporation Method, system and computer readable recording medium for providing ranking of game group
US9233311B2 (en) * 2011-06-17 2016-01-12 Nhn Entertainment Corporation Method, system and computer readable recording medium for providing ranking of game group
US10086295B2 (en) * 2011-06-17 2018-10-02 K-Innovation Method, system and computer readable recording medium for providing ranking of game group
US8696467B2 (en) * 2011-06-17 2014-04-15 Nhn Entertainment Corporation Method, system and computer readable recording medium for providing ranking of game group
US20140148253A1 (en) * 2011-06-17 2014-05-29 Nhn Entertainment Corporation Method, system and computer readable recording medium for providing ranking of game group
US20150065247A1 (en) * 2011-06-17 2015-03-05 Nhn Entertainment Corporation Method, system and computer readable recording medium for providing ranking of game group
US9149726B2 (en) * 2011-06-17 2015-10-06 NHN Enterntainment Corporation Method, system and computer readable recording medium for providing ranking of game group
US20120323348A1 (en) * 2011-06-17 2012-12-20 Nhn Corporation Method, system and computer readable recording medium for providing ranking of game group
EP2723462A4 (en) * 2011-06-24 2014-11-26 Intertaintech Corp System and method for conducting online video game tournaments
WO2012174656A1 (en) * 2011-06-24 2012-12-27 Intertaintech Corporation System and method for conducting online video game tournaments
US8851980B2 (en) 2011-06-24 2014-10-07 Intertaintech Corporation System and method for conducting online video game tournaments
EP2723462A1 (en) * 2011-06-24 2014-04-30 Intertaintech Corporation System and method for conducting online video game tournaments
CN103945912A (en) * 2011-06-24 2014-07-23 娱乐技术公司 System and method for conducting online video game tournaments
US20130017870A1 (en) * 2011-07-12 2013-01-17 Cbs Interactive Inc. Game navigation interface for electronic content
US9361625B2 (en) * 2011-07-12 2016-06-07 Cbs Interactive Inc. Game navigation interface for electronic content
US20140351269A1 (en) * 2011-09-13 2014-11-27 Monk Akarshala Design Private Limited Ability banks in a modular learning system
US20140317285A1 (en) * 2011-11-21 2014-10-23 Sony Computer Entertainment Inc. Information processing system
US20130217501A1 (en) * 2012-02-16 2013-08-22 Microsoft Corporation Presenting application challenges outside an application execution context
US20140349758A1 (en) * 2012-02-17 2014-11-27 Konami Digital Entertainment Co., Ltd. Game device, computer-readable recording medium, and game management method
US8845437B2 (en) * 2012-04-30 2014-09-30 Microsoft Corporation Gaming challenges which use leaderboards that rank challenge participants
US20130324257A1 (en) * 2012-06-01 2013-12-05 Nintendo Co., Ltd. Posted information sharing system, game application executing system, storage medium, and information-processing method
US9283483B2 (en) * 2012-06-01 2016-03-15 Nintendo Co., Inc. Posted information sharing system, game application executing system, storage medium, and information-processing method
US10315117B2 (en) 2012-06-01 2019-06-11 Nintendo Co., Ltd. Posted information sharing system, game application executing system, storage medium, and information-processing method
US9656178B2 (en) 2012-06-01 2017-05-23 Nintendo Co., Ltd. Posted information sharing system, game application executing system, storage medium, and information-processing method
US9623333B2 (en) * 2012-06-13 2017-04-18 Oracle International Corporation Method and mechanism for implementing a gamification application
US20130337909A1 (en) * 2012-06-13 2013-12-19 Oracle International Corporation Method and mechanism for implementing a gamification application
US10140638B2 (en) * 2012-12-06 2018-11-27 International Business Machines Corporation Providing information technology resiliency in a cloud-based services marketplace
US20140162786A1 (en) * 2012-12-06 2014-06-12 Matthew James Hartleip Online commodity competition
US20140164166A1 (en) * 2012-12-06 2014-06-12 International Business Machines Corporation Providing information technology resiliency in a cloud-based services marketplace
US11103781B2 (en) * 2013-07-30 2021-08-31 Gree, Inc. Program, method, and system of transmitting or receiving message
US10881950B2 (en) 2013-07-30 2021-01-05 Gree, Inc. Program, method, and system of transmitting or receiving message
US11691078B2 (en) * 2013-07-30 2023-07-04 Gree, Inc. Program, method, and system of transmitting or receiving message
US20210308572A1 (en) * 2013-07-30 2021-10-07 Gree, Inc. Program, method, and system of transmitting or receiving message
US20150165310A1 (en) * 2013-12-17 2015-06-18 Microsoft Corporation Dynamic story driven gameworld creation
US20150174478A1 (en) * 2013-12-20 2015-06-25 Playcast Media Systems, Ltd. System and method for multiplayer gaming
US10974154B2 (en) * 2013-12-20 2021-04-13 Electronic Arts Inc. System and method for multiplayer gaming
US11318390B2 (en) 2014-05-16 2022-05-03 Electronic Arts Inc. Systems and methods for hardware-based matchmaking
US9776091B1 (en) * 2014-05-16 2017-10-03 Electronic Arts Inc. Systems and methods for hardware-based matchmaking
US10695677B2 (en) 2014-05-16 2020-06-30 Electronic Arts Inc. Systems and methods for hardware-based matchmaking
US20170100671A1 (en) * 2014-05-22 2017-04-13 Redduck Inc. System and method for operating competition game
US10296391B2 (en) * 2014-06-30 2019-05-21 Microsoft Technology Licensing, Llc Assigning a player to a machine
US20150375113A1 (en) * 2014-06-30 2015-12-31 Microsoft Corporation Assigning A Player To A Machine
US10376792B2 (en) * 2014-07-03 2019-08-13 Activision Publishing, Inc. Group composition matchmaking system and method for multiplayer video games
US20160001186A1 (en) * 2014-07-03 2016-01-07 Activision Publishing, Inc. Group composition matchmaking system and method for multiplayer video games
US10857468B2 (en) 2014-07-03 2020-12-08 Activision Publishing, Inc. Systems and methods for dynamically weighing match variables to better tune player matches
US10001896B2 (en) 2014-09-25 2018-06-19 Oracle International Corporation Gamification platform
US10668381B2 (en) 2014-12-16 2020-06-02 Activision Publishing, Inc. System and method for transparently styling non-player characters in a multiplayer video game
US11524237B2 (en) 2015-05-14 2022-12-13 Activision Publishing, Inc. Systems and methods for distributing the generation of nonplayer characters across networked end user devices for use in simulated NPC gameplay sessions
US11896905B2 (en) 2015-05-14 2024-02-13 Activision Publishing, Inc. Methods and systems for continuing to execute a simulation after processing resources go offline
US20170056766A1 (en) * 2015-08-27 2017-03-02 Sony Interactive Entertainment Network America Llc Electronic processing system with social network mechanism and method of operation thereof
CN105721450A (en) * 2016-01-27 2016-06-29 网易(杭州)网络有限公司 Method, device and system for logging in network game
US11141663B2 (en) 2016-03-08 2021-10-12 Electronics Arts Inc. Multiplayer video game matchmaking optimization
US10610786B2 (en) 2016-03-08 2020-04-07 Electronic Arts Inc. Multiplayer video game matchmaking optimization
US9993735B2 (en) 2016-03-08 2018-06-12 Electronic Arts Inc. Multiplayer video game matchmaking optimization
US10729975B1 (en) 2016-03-30 2020-08-04 Electronic Arts Inc. Network connection selection processing system
US10751629B2 (en) 2016-10-21 2020-08-25 Electronic Arts Inc. Multiplayer video game matchmaking system and methods
US10286327B2 (en) * 2016-10-21 2019-05-14 Electronic Arts Inc. Multiplayer video game matchmaking system and methods
CN107970612A (en) * 2016-10-21 2018-05-01 电子技术公司 multi-player video game matching system and method
KR20180044191A (en) * 2016-10-21 2018-05-02 일렉트로닉 아트 아이엔씨. Multiplayer video game matchmaking system and methods
KR102127670B1 (en) 2016-10-21 2020-06-29 일렉트로닉 아트 아이엔씨. Multiplayer video game matchmaking system and methods
US11344814B2 (en) 2016-10-21 2022-05-31 Electronic Arts Inc. Multiplayer video game matchmaking system and methods
US20180111051A1 (en) * 2016-10-21 2018-04-26 Electronic Arts Inc. Multiplayer video game matchmaking system and methods
US10987588B2 (en) 2016-11-29 2021-04-27 Activision Publishing, Inc. System and method for optimizing virtual games
US10091281B1 (en) 2016-12-01 2018-10-02 Electronics Arts Inc. Multi-user application host-system selection system
US10974150B2 (en) 2017-09-27 2021-04-13 Activision Publishing, Inc. Methods and systems for improved content customization in multiplayer gaming environments
US10561945B2 (en) 2017-09-27 2020-02-18 Activision Publishing, Inc. Methods and systems for incentivizing team cooperation in multiplayer gaming environments
US11040286B2 (en) 2017-09-27 2021-06-22 Activision Publishing, Inc. Methods and systems for improved content generation in multiplayer gaming environments
US10864443B2 (en) 2017-12-22 2020-12-15 Activision Publishing, Inc. Video game content aggregation, normalization, and publication systems and methods
US11413536B2 (en) 2017-12-22 2022-08-16 Activision Publishing, Inc. Systems and methods for managing virtual items across multiple video game environments
US11638879B2 (en) 2018-02-06 2023-05-02 Gree, Inc. Game processing system, method of processing game, and storage medium storing program for processing game
US20230293984A1 (en) * 2018-02-06 2023-09-21 Gree, Inc. Game processing system, method of processing game, and storage medium storing program for processing game
US20210322868A1 (en) * 2018-02-06 2021-10-21 Gree, Inc. Game processing system, method of processing game, and storage medium storing program for processing game
US11642591B2 (en) * 2018-02-06 2023-05-09 Gree, Inc. Game processing system, method of processing game, and storage medium storing program for processing game
US11083959B2 (en) * 2018-02-06 2021-08-10 Gree, Inc. Game processing system, method of processing game, and storage medium storing program for processing game
US10835827B1 (en) * 2018-07-25 2020-11-17 Facebook, Inc. Initiating real-time games in video communications
US11596871B2 (en) * 2018-07-25 2023-03-07 Meta Platforms, Inc. Initiating real-time games in video communications
US10765952B2 (en) 2018-09-21 2020-09-08 Sony Interactive Entertainment LLC System-level multiplayer matchmaking
US10695671B2 (en) 2018-09-28 2020-06-30 Sony Interactive Entertainment LLC Establishing and managing multiplayer sessions
US11364437B2 (en) 2018-09-28 2022-06-21 Sony Interactive Entertainment LLC Establishing and managing multiplayer sessions
US20230182023A1 (en) * 2018-11-19 2023-06-15 Josiah Eatedali Social recommendation, distribution, and display of video game-related products
US11679330B2 (en) 2018-12-18 2023-06-20 Activision Publishing, Inc. Systems and methods for generating improved non-player characters
JP7212071B2 (en) 2019-01-24 2023-01-24 株式会社ソニー・インタラクティブエンタテインメント Information processing device, control method for information processing device, and program
JPWO2020153232A1 (en) * 2019-01-24 2021-09-30 株式会社ソニー・インタラクティブエンタテインメント Information processing device, control method of information processing device, and program
WO2020163941A1 (en) * 2019-02-11 2020-08-20 Technologies Edgegap Inc. Method and site selection controller for selecting a serving site for a session
US10938866B1 (en) 2019-02-11 2021-03-02 Technologies Edgegap Inc. Method and site selection controller for selecting a serving site for a session
US11925871B2 (en) 2019-03-28 2024-03-12 British Telecommunications Public Limited Company Competitor selection
US11097193B2 (en) 2019-09-11 2021-08-24 Activision Publishing, Inc. Methods and systems for increasing player engagement in multiplayer gaming environments
US11712627B2 (en) 2019-11-08 2023-08-01 Activision Publishing, Inc. System and method for providing conditional access to virtual gaming items
US11338209B2 (en) * 2020-04-23 2022-05-24 Mc Master Of Ceremony Inc Methods, systems, apparatuses, and devices for facilitating conducting a competition between participants
US11524234B2 (en) 2020-08-18 2022-12-13 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically modified fields of view
US11351459B2 (en) 2020-08-18 2022-06-07 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values
US11687899B2 (en) 2021-01-05 2023-06-27 Mythical, Inc. Systems and methods for sharing user inventory information to initiate a peer-to-peer exchange of a non-fungible digital asset
US11138580B1 (en) 2021-01-05 2021-10-05 Mythical, Inc. Systems and methods for peer-to-peer exchanges of non-fungible digital assets
US11141664B1 (en) 2021-02-25 2021-10-12 Mythical, Inc. Systems and methods for a seller-initiated peer-to-peer exchange of a non-fungible digital asset
US11207604B1 (en) 2021-02-25 2021-12-28 Mythical, Inc. Systems and methods to incentivize particular in-game user behaviors and particular user activities within an online game
US11260304B1 (en) * 2021-04-08 2022-03-01 Mythical, Inc. Provable fairness for challenges among players in an online gaming platform
US11571619B1 (en) * 2021-08-16 2023-02-07 Amazon Technologies, Inc. Cross-region management of game server fleets
US11571618B1 (en) * 2021-08-16 2023-02-07 Amazon Technologies, Inc. Multi-region game server fleets
WO2023055288A1 (en) * 2021-10-01 2023-04-06 Garena Online Private Limited Method for assigning a server to users in a multiplayer electronic game

Also Published As

Publication number Publication date
WO2006124811A3 (en) 2009-04-23
WO2006124811A2 (en) 2006-11-23

Similar Documents

Publication Publication Date Title
US20060258463A1 (en) System and method for network interactive game match-up and server selection
US11298621B2 (en) Method of and system for conducting multiple contests of skill with a single performance
US9978217B2 (en) Method of and system for conducting multiple contests of skill with a single performance
US8241129B2 (en) Setting up on-line game sessions out of a game context
US20030190960A1 (en) Method and system for providing access to and administering online gaming leagues and tournaments
US8221238B1 (en) Determination of a reputation of an on-line game player
US20110269551A1 (en) Computer-based gaming teams
US20060121990A1 (en) System and method for social matching of game players on-line
US20070265043A1 (en) Team-based networked video gaming and automatic event management
KR20060043334A (en) Method for online game matchmaking using play style information
AU2006336517A1 (en) Join in-progress on-line game session
US9561433B1 (en) Providing event rewards to players in an online game
KR20020091814A (en) Network game server apparatus, network game management method, and network game management program
TWI322024B (en) Game server, method for evaluating spectators, and information recording medium
JP3417936B2 (en) NET GAME SERVER DEVICE, NET GAME MANAGEMENT METHOD, AND NET GAME MANAGEMENT PROGRAM
US20150231507A1 (en) Fantasy sports system
US10198901B1 (en) Systems and methods for facilitating group gameplay in an online game
JP2005267347A (en) Virtual space sharing device
US11951402B2 (en) Method of and system for conducting multiple contests of skill with a single performance
KR20130089791A (en) Method for providing on-line game, recording medium implementing the same and game providing server
LeBlanc Comparing the effect of asymmetry and symmetry on player experience in competitive games
AU2018264031A1 (en) Systems and methods for making real-time, fantasy sports coaching adjustments to live games
Schjelle Social Status and Hierarchies in Virtual Worlds: A Study of World of Warcraft

Legal Events

Date Code Title Description
AS Assignment

Owner name: PROFESSIONAL INTERACTIVE ENTERTAINMENT, INC., CALI

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CUGNO, JARED;HALEEM, AMIR;SKEELS, JACK;REEL/FRAME:017880/0259

Effective date: 20060515

AS Assignment

Owner name: SEWANEE PARTNERS III, L.P., TENNESSEE

Free format text: SECURITY AGREEMENT;ASSIGNOR:GLOBAL GAMING LEAGUE, INC.;REEL/FRAME:019099/0960

Effective date: 20070122

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION