US20120021835A1 - Systems and methods for server based video gaming - Google Patents

Systems and methods for server based video gaming Download PDF

Info

Publication number
US20120021835A1
US20120021835A1 US13/006,387 US201113006387A US2012021835A1 US 20120021835 A1 US20120021835 A1 US 20120021835A1 US 201113006387 A US201113006387 A US 201113006387A US 2012021835 A1 US2012021835 A1 US 2012021835A1
Authority
US
United States
Prior art keywords
game
user
resources
client device
server
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
US13/006,387
Inventor
John Keller
Jonathan Strietzel
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.)
IPRD LABS LLC
Original Assignee
IPRD LABS LLC
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 IPRD LABS LLC filed Critical IPRD LABS LLC
Priority to US13/006,387 priority Critical patent/US20120021835A1/en
Publication of US20120021835A1 publication Critical patent/US20120021835A1/en
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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • 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/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • 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/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device

Definitions

  • the inventions described herein relate generally to gaming videogames and more particularly to systems and methods for a server based videogame system.
  • Modem videogames can be played on a variety of client devices. For example, many games can be loaded on a home, or personal computer, while others are designed to be played on a customized game console that typically interfaces with the users television.
  • the customized game consoles tend to have proprietary technology that requires that games be designed specifically for the particular game console. Even games designed for a personal computer typically require that the game be designed for specific operating systems.
  • Designing games for different platforms is not necessarily a trivial endeavor.
  • the game developer must often commit to a specific platform and dedicate development resources to developing a game for the selected platform.
  • the game developer is often required to enter into a deal with the console manufacturer before the game can be sold to the public.
  • the console manufacturer has tremendous leverage in negotiating deals with game developers, because they control access to the console required for the user to play the game.
  • the Internet has enabled networked versions of many games, where users can interact within the game environment via network connections. This interaction can comprise users collaborating to play the game, or users playing against each other.' To allow such collaboration, each user must purchase, or posses a copy of the game. Thus, the users will typically be using the same type of game console.
  • the users log onto, or otherwise access, a central game server. Each user then begins their version of the game.
  • Each user's game console then communicates with the game server providing information related to the user's movements, actions, results, effects, etc., within the game. The server then communicates this information to the game console associated with the other users participating in the game.
  • the game environment as seen, or experienced by these others is then updated accordingly by the user's game console.
  • the game server can also provide, or enable, communication between the user's game consoles.
  • VoIP Voice Over Internet Protocol
  • a server based videogame system comprises one or more game authorities configured to store a plurality of videogames that can be accessed by users using client devices at locations remote from the game authority.
  • the game authority comprises a game server configured to server portions of the game scripts and resources to the client devices as needed.
  • the client devices include game browsers that act similarly to web browsers by requesting resources from the game authority as needed using URL requests.
  • FIG. 1 is a diagram illustrating a server based videogame system in accordance with one embodiment
  • FIG. 2 is a flow chart illustrating an example method for implementing a server based video system from the perspective of a client device included in the system of FIG. 1 ;
  • FIG. 3 is a flow chart illustrating an example method for implementing a server based video system from the perspective of a game authority included in the system of FIG. 1 ;
  • FIG. 4 is a diagram illustrating an example embodiment of a game authority that can be included in the system of FIG. 1 and configured to implement the method of FIG. 3 ;
  • FIG. 5 is a diagram illustrating an example embodiment of a client device that can be included in the system of FIG. 1 and configured to implement the method of FIG. 2 ;
  • FIG. 6 is a flow chart illustrating an example method for providing skill level rankings to game players within the system of FIG. 1 in accordance with one embodiment
  • FIG. 7 is a graph illustrating an exemplary player skill ranking that can be produced using the method of FIG. 6 .
  • FIG. 1 is a diagram illustrating a server based video gaming environment 100 in accordance with one embodiment of the systems and methods described herein.
  • System 100 comprises one or more game authorities 108 interfaced with a plurality of client devices, of which client devices 104 and 106 are illustrated by way of example, via network 102 .
  • Server authorities 108 host a plurality of videogames that can be accessed by users using client devices 104 and/or 106 .
  • a game authority 108 can comprise one or more servers, computers, routers, databases, user interfaces, software programs and routines, etc., as required. Moreover, as illustrated several game authorities 108 can be included in system 100 depending on the embodiment. Multi-authority embodiments are described in more detail below. Each game authority 108 can comprise a game server configured to implement many of the functionalities described herein. The game server is described in more detail below as well.
  • Network 102 can comprise one or more Metropolitan Area Networks (MANs), Wide Area Networks (WANs), Local Area Networks (LANs), and Personal Area Networks (PANs). Moreover, the network, or networks, comprising network 100 can be wired or wireless or some combination thereof. Network 100 can also comprise the Internet. Network 102 can enable communication between game authorities 108 (link 114 ), between game authorities 108 and client devices 104 and 106 (links 112 and 116 ), and between client devices, e.g., between devices 104 and 106 (link 110 ).
  • MANs Metropolitan Area Networks
  • WANs Wide Area Networks
  • LANs Local Area Networks
  • PANs Personal Area Networks
  • the network, or networks, comprising network 100 can be wired or wireless or some combination thereof.
  • Network 100 can also comprise the Internet.
  • Network 102 can enable communication between game authorities 108 (link 114 ), between game authorities 108 and client devices 104 and 106 (links 112 and 116 ), and between client devices,
  • communications flow between the various entities comprising system 100 can be organized during game playas required by the specific game being played.
  • users can use headsets to communicate voice signals with each other.
  • the headset to headset communications can be established via temporary communication links 110 between two or more client devices.
  • some or all of the communications flow can be established prior to game play. Communication flow is described in more detail below as well.
  • client devices Users can use a variety of client devices to interface with game authorities 108 including desktop computers, laptop computers, handheld or palm computers, mobile communication devices, such as wireless telephones, Personal Digital Assistants (PDAs), and the like, as well as custom game consoles.
  • client device 104 is a desktop computer.
  • client device 104 can be configured to run the Windows® operating system or another operating system such as LinspireTM.
  • client device 108 on the other hand is a custom game console, such as the XBOX® game console.
  • Each client device comprises a game browser, which will be discussed in more detail below.
  • System 100 can be configured to provide a 3-Dimensional (3D) videogame environment presented, e.g., by game servers running on game authorities 108 to users via game browses running on the user's client devices.
  • the game servers running on game authorities 108 and the game browsers running on client devices 104 and 106 are not game specific, i.e., the game server and game browser can be generic with respect to the games. Accordingly, no customization of the game server and/or game browser is required to play different games.
  • game developers developing games for system 100 do not need to be concerned with what type of client device the user, or users, are using. The game developer can simply develop one version of the game for system 100 , which can then be accessed and played by users using any type of client device.
  • the game is stored on game authorities 108 as opposed to the client devices. Portions of the game environment can then be downloaded to each client devices as required. By only downloading portions of the game at any given time, the communications and processing bandwidth within the system can be conserved enabling the game to be hosted by a game authority 108 .
  • the approach used is similar to the structure of a web browser-web server combination. Websites comprise Hyper Text Markup Language (HTML) files that can be interpreted by a web browser.
  • HTML Hyper Text Markup Language
  • the basic HTML files served by the web site to the browser contain “tags” that described how the “pages” associated with the web site are to be displayed on the user's computer. Some of these “tags” point to other resources, such as pictures, text and even links to other “pages,” associated with the web site or with other web sites.
  • a document is served to the game browser running on a client device.
  • the document served by the game server can provide the game browser with information needed by the browser to conduct game play.
  • the document, or game page can act as a directory, or database, that contains a list of resources associated with the game being played.
  • the resources can be images, executables, sound files, etc. associated with the game.
  • the directory can also inform as to what resources are associated with which portions of the game.
  • the user's game browser can interpret the directory to determine what resources will be required in the near future.
  • the game browser can be configured to communicate with the game server, running on the associated game authority, or authorities 108 to prepare to download, or access, the resources that will soon be needed.
  • the additional resources can be requested in the same manner as the game page.
  • a request for a resource can be sent to a Universal Resource Locator (URL) with the appropriate parameters for the requested resource in the header portion of the URL. Again, this is very similar to how web based activities are performed, e.g., this is very similar to “posting a form” in a web environment.
  • the game server receives a request for a resource from a web browser, it can be configured to respond by sending the requested resource back to the game browser making the request.
  • the game browser can also be configured to “Cache” resources.
  • the game server receives a request for new resources, it can be configured to determine what resources already reside on the client device and only download resources not present on the client device.
  • the user or game player, can navigate through the game in a normal fashion; however, the majority of the game resources are actually stored on the associated game authority 108 . Only the resources that are immediately needed, and those that may be needed in the near future reside on the user's client device. Effectively, the interaction between the game browser on the user's client device and the game server on the associated game authority 108 maintains a “halo” of resources around the user as the user navigates, or progresses through the game.
  • the game browser provides the user with the game play experience by interpreting and presenting the information extracted from the game server over network 102 , e.g., the Internet.
  • the game browser can be configured such that it does not need any prior knowledge of a game, or game site, hosted by a game authority 108 .
  • FIG. 2 is a flow chart illustrating an example method for implementing a server based video gaming system from the perspective of a game browser running on a client device in accordance with one embodiment of the systems and methods described herein.
  • the example method of FIG. 2 assumes that the user has already accessed a game server running on a single game authority 108 .
  • the user can select a game to play.
  • game authority can be configured to host a plurality of games. Thus, there must be some mechanism by which the user can select a game.
  • the user first “arrives” in a “launch room.”
  • the “launch room” can comprise a plurality of doors, with each door being associated with a different game. The user can then move, via controls on their client device, through the door associated with the game they have chosen.
  • Going through the door can cause the game experience to begin.
  • the door through which the user moves in order to select a particular game can actually be a set of links to another “area,” e.g., the starting zone for a particular game.
  • Moving through the door can be the web equivalent of clicking on a web link.
  • moving through the door can cause the game browser to send a URL request to the game server requesting the game page and/or system resources associated with the area of the game, such as the start zone, into which the user is moving.
  • videogame play can then comprise moving from area to area, or progressing through a game, which can be the equivalent of clicking on links in order to access more resources.
  • the game page associated with the game selected can be downloaded to the client device and interpreted by the game browser.
  • the game page can comprise a directory of resources required to implement the game play.
  • those resources required to display the game environment inside the “active halo” around the user can then be downloaded and displayed on the display associated with, or interfaced with, the user's client device.
  • the entire game never resides on the user's client device. Rather, only the area immediately surrounding the user is downloaded. As the user moves or progresses through the game, the game browser is monitoring the user's movements and/or progression and anticipating what resources will be required.
  • the term “active halo” is intended to refer to that area of the game that is resident on the user's client device.
  • the term “halo” is not intended to limit the active area around the user to a halo shape. The active area can actually comprise a circle, oval, square, etc.
  • the term “active halo” intended to refer to just that area being displayed. It can also comprise resources and parts of the game not actively displayed, but resident on the client device. It should be clear that in order for game play to remain smooth and uninterrupted, more of the game than just that portion being displayed should be resident on the client device.
  • the user's client device can be configured to determine whether there is movement, action, or progression associated with the game that requires, or soon will require, resources not resident on the client device.
  • the game is a role playing game, or an action game, where the user controls the movements of a character within the game
  • new resources will be required as the user moves the character through the game.
  • the “active halo” surrounding the user's character, and resident on the user's client device can comprise all the resources required to display the area immediately surrounding the user's character.
  • new resources e.g., models will need to be displayed or used.
  • the client device can be configured to detect this movement, or activity, and update the display accordingly in step 210 .
  • Updating the display can comprise changing views as the user's character moves in different directions and displaying different aspects in the surrounding environment as the character moves from one place to the next.
  • the client device can be configured, in step 212 , to inform the associated game server of the movement or activity so that the game server always has the most updated information related to the progression of the game. This can, for example, be important in multiplayer games, where the players reside at more than one remote location.
  • new resources i.e., resources not resident on the client device
  • new resources will eventually be required.
  • the request can be in the form of a URL request.
  • the client device can be configured to predict what resources will be needed and ask for them ahead of time. It will be appreciated that the resources should be resident on the client device before they are need in order maintain game flow, etc.
  • step 218 it can be determined whether there has been any change in the surrounding environment. For example, another character may have moved into sight, a car may have driven by, etc. If the environment has changed, then the display can be updated (step 210 ). New resources may need to be downloaded as a result of the environment change. If so, then this can be determined in step 214 and the requisite resources downloaded in step 216 .
  • FIG. 3 is flow chart for implementing a server based video gaming system from the perspective of a game server running on a game authority in accordance with one embodiment of the systems and methods described herein.
  • the game server can receive a game selection from a client device.
  • the game server can be configured to download a game page in step 304 as described above.
  • the game server can receive a request for new game resources. These game resources are associated with the portion of the game that will be resident on the client device. The rest of the game remains resident on the game authority.
  • the requested resources can be sent to the client device.
  • Sending the resources comprises sending the resources and the scripts that tell the client device how to implement or use the resources.
  • bandwidth can be conserved, because the data can be sent in a very compact way.
  • the client device will already have all the resources resident on the client device that the client device needs to implement the next portion of the game environment. All that will need to be downloaded are the scripts necessary to make use of the resources to implement the next portion of the game environment.
  • the game server can receive updates from the client device.
  • the updates can be related to the movement or activity of a character within the game environment running on the user's client device.
  • the game server can update the active version of the game in step 312 with this new information.
  • the game server can determine in step 314 , whether it is a multiplayer environment, and update the other players in step 316 .
  • Non-player controlled changes can comprise changes generated by the game itself, i.e., the movement of game generated characters or components, etc.
  • Example resource types that can be associated with a game can include, spatial links, e.g., to the next game page in each possible direction. Specifications on other players currently viewing the current game page, i.e., information related to other players, or characters associated with another user that are in the same area of the game, can be included. Sound files can also be included. All of the sound files associated with a game can be referred to as a sound track. As explained below, there can even be multiple sound files, or tracks, associated with the same game. Models for the various components in the game can be included. Again, as explained below, multiple versions of the models can be included. Other resources can include, animations, textures, and control mappings, i.e., what key on the computer, or client device does something in the game. Again, the animations and textures can have multiple versions.
  • textured models can be a combination of a 3D model with an accompanying texture.
  • the game server and game site i.e., the collection of game pages
  • the causes of such change can be varied. Some causes are simply a function of time, or a function of the game itself. Some are direct or indirect results of individual player's actions. Some causes are random, or dependent on outside monitoring of real world events. The varied causes of change that keeps the game environment dynamic help keep the games interesting.
  • the game resources reside on the server with only a portion of the game residing on the client devices.
  • a server based gaming environment can be implemented.
  • client to client communication can also be provided, as can authority to authority based communication, e.g., in multi-authority embodiments.
  • Multiple game authorities can be used, e.g., for load balancing, redundancy, and to increase download speeds.
  • system 100 can comprise client-server communication links 112 and 116 . These links can, depending on the embodiment, be initiated by the client device or game authority; however, in most cases the client device will initiate connectivity with a game authority 108 . Links 112 and 116 can be used by the game browser to access the game page, request and download resources, provide update information to the game server, etc.
  • system 100 can comprise client-client links 110 .
  • These links can allow for direct communication between client device, e.g., client devices 104 and 106 .
  • client device e.g., client devices 104 and 106 .
  • communication between user's can be essential, e.g., were multiple players are on the same team.
  • These communications can be relayed via game authority 108 ; however, in many instances there is no need to burden game authority 108 with the client to client communications.
  • link 110 can comprise VoIP communication links over which user's can communicate with each other, e.g., using headsets interfaced with their respective client devices.
  • transcripts, or logs, of the communication between users, or client devices can be stored by one or more of the client devices involved. The stored logs can then be uploaded to the server at a later time.
  • system 100 can comprise inter-server communication links 114 .
  • Link 114 can comprise LAN links and/or WAN links depending on the embodiment.
  • Link 114 allows multiple game authorities, or game servers, to synchronize with each other. As mentioned, multiple authorities can be used, e.g., for redundancy, load sharing, or faster download capability.
  • FIG. 4 is a diagram illustrating an exemplary game server 400 configured to run on a game authority 108 in accordance with one embodiment of the systems and methods described herein.
  • game server 400 comprises communication processor 402 and game play engine 404 , and is interfaced with data repository 408 .
  • Communication processor 402 can be configured to process communication traffic between game server 400 and other game servers as well as between game server 400 and client devices. Communication processor 402 can, for example, be configured to queue requests for information from client devices, or other game servers, and passes back the appropriate responses from the game play engine 404 .
  • Game play engine 404 can be configured to process game scripts 406 associated with various games loaded onto the associated game authority 108 .
  • the games, or game scripts 404 can be provided by game developers as described in more detail below.
  • Game scripts 406 control the interaction between user's, game servers, and combinations thereof.
  • Game play engine 404 can be configured to service requests for information by pulling the requested information from, e.g., the data repository 408 .
  • Game play engine 404 can be further configured to record information sent back from the client devices regarding the associated user's various exploits within the games.
  • Game play engine 404 can be configured to run all game scripts 406 provided by the various game developers, and is the server side of the software which determines what players will be “managed” for interaction, etc. The rest of this interaction is handled by a processor in the client device. Game play engine 404 can be where all of the “universal gameplay” tasks are handled. Rankings, alliances, and accumulated “treasures” can all be handled here. Of course, the final determination of what resides where rests with the game developer.
  • game play engine 404 can be configured to simply download the resources and scripts needed to implement a current portion of the game environment to the client device. Often, the client device will have all of the resources necessary to implement the next portion of the game environment already cached on the device. Thus, all the game play engine needs to do is serve the scripts that tell the game browser running on the client device how to use the resources to implement the next portion of the game environment. Before downloading new resources, game play engine 404 can be configured to determine what resources the client device has cached on the device and only serve the resources and scripts not already resident on the client device.
  • Data repository 408 is where all of the resources 410 , e.g., models, their textures, sounds, music control specifications, links, etc., are stored. Everything there is to know about a game should be stored in data repository 408 . For example, all of the motion rules, which determine how an object responds to player inputs on the client device can be stored in data repository 408 . Data repository 408 can also be configured to store “control templates,” which can translate the controls the game needs, to what the player's client device is equipped with, and “extended object trajectories,” which can help to determine what will happen to an object in motion through multiple areas. These extended object trajectories can be used to allow a game browser to predict which will be needed and when they should be requested.
  • data repository 408 can be a database or file structure.
  • a database is much easier to maintain, copy, synchronize with other servers, create mirrors, etc.
  • cost can be a disadvantage.
  • the same tasks can, depending on the embodiment, be accomplished with simple files and data structure; however, such implementations tend to be much less standardized and much more system dependent. Accordingly, the appropriate tradeoffs should be made on an independent basis between cost and ease of implementation.
  • Game servers 400 are capable of communication with each other as well as the client devices. This allows a game hosted on multiple game servers 400 to have some commonality.
  • One game can be on many servers 400 , or one server 400 can have many games. For example, ten servers 400 can be home to 10% of each of 10 completely different games. Any combination is possible, which provides a great deal of flexibility in resource allocation. If a game is extremely popular, dedicated servers 400 can be used to handle the load; however, if there are 10 mildly popular games, the former scenario is probably a more efficient use of resources.
  • FIG. 5 is a diagram illustrating an example client device 501 comprising a game browser 500 configured in accordance with one embodiment of the systems and methods described herein.
  • game browser 500 comprises communication processor 502 , game processor 506 , sound processor 508 , graphics engine 510 , and is interfaced with data repository 504 .
  • Communication Processor 502 can be configured to process all of the data coming from gamer servers and other client devices. Communication processor 502 can be configured to pass advance requests on to data repository 504 , while more immediate information can be sent to game processor 506 . Advance requests can, for example, be data that game browser 500 has determined will be needed in the near future, such as the model for the next area in the current direction of travel, while the more immediate information can be data and/or changes regarding the current position within the game environment.
  • Game processor 506 can be configured to receive information about how the controls and display will be formatted, how all of the objects in the given area react to various other objects and the player, and of course, how the player interacts with a particular scene. While communication processor 506 can be running in the background, e.g., feeding data repository 504 , game processor 506 can be running in the foreground controlling graphics engine 510 , sound processor 508 , and of course interpreting the player's responses. Game processor 506 can be configured to use data stored in data repository 504 , make its own entries in the data repository 504 for future reference, and sends back reports and requests to communications process 502 .
  • Graphics engine 510 can be configured to draw and animate the current scene on the display associated with client device 501 .
  • Game processor 502 can be configured to instruct graphics processor 510 as to which models, textures, and positions to use, but graphics processor 510 has the complex task of actually rendering the effect, e.g., in 3D on the client device display.
  • Sound processor 508 can be configured to play the music track, sound effects, and any other incoming or outgoing audio, such as from a headset-to-headset device.
  • Data repository 504 can, depending on the embodiment, be a database established on client device 501 .
  • each client device within system 100 comprise some sort of mass storage.
  • the actual data storage requirements can vary by game, and can also be related to the level of support given to a certain type of device. For instance, a PC can have a given 3D model's texture represented at 1024 ⁇ 768 pixels and 65535 color depth, while a PCS phone playing the same game can only be 102 ⁇ 77 with a 16 color depth.
  • the systems and methods described above enable a server based game environment, because only portions of the game are downloaded to the client devices. Thus, bandwidth is not an issue and the game can be played without any interruption of game flow or game experience.
  • the game server can also update one player with information related to another player in a quick and easy manner.
  • the systems and methods described above can, depending on the embodiment, lead to other features and advantages as described below. It will be clear that the systems and methods described above can provide other features and advantages as well and that the features and advantages discussed below are simply exemplary of the enhanced performance that can be provided by the systems and methods described herein.
  • a game authority 108 stores the resources 410 and scripts 406 required for game play
  • multiple versions of the same game can be stored and made available for users. For example, if the game designer chooses to do so, various versions, e.g., mild, mature, and violent, of a game can be designed and loaded on game authority 108 . The user can then be given the option of which version of the game the user wants to play. Alternatively, the game developer can produce multiple versions, where certain versions have enhanced or added content. The user can then, for example, be given the option of which version they want to play. If the user selects a version with enhanced or additional content, the user can be charged more. In another embodiment, different language versions of a game can be developed. The user can then select the language version they desire when selecting a game. Different language versions can comprise simply providing different sound tracks and audio effects as mentioned below.
  • the multi-track capability can also apply to the sound track and audio effects as well as to the graphical content of the games.
  • a consequence of the multi-track capability described is the ability to provide easy to use and implement parental control.
  • at least two version of a game can be stored on game authority 108 : a child friendly version; and an adult version.
  • a user accesses a game, they can indicate which version they want.
  • they can indicate a parental control election that can govern what version can be accessed. Subscriptions are described in more detail below.
  • the systems and methods can provide increased parental control and more options, e.g., to families.
  • Piracy is a problem that plagues the game industry. Piracy is the unauthorized copying and distribution of a game. Copy protection techniques are well known and widely used; however, they have proven ineffective at preventing piracy. But because a whole version of game is never on any client device at anyone time, games hosted by game authorities 108 cannot be easily copied. In order to effectively copy a game, a user would have to navigate through the whole game, i.e., every option, path, experience, etc., while recording all of the data at the same time. This presents a complex problem for a would be pirate that cannot be easily overcome. As mentioned above, encryption can also be employed to help prevent the unauthorized access and copying of game content.
  • System 100 can be configured to allow game players to be rated as to their skill level for various games. Skill level ratings can be useful for a variety of reasons. For example, a skill level rating can be useful for the game player to rate how good they are at a game relative to other players and/or to track their improvement in playing a given game. Additionally, it is envisioned that leagues will become popular, where players join to play against each other, or the game, alone or in teams. In this context, skill level ratings can be used to select teams, pair opponents, seed competitions, etc.
  • game server 400 can further comprise a player rating engine that can be configured to gather data related to a players ability in a variety of ways in order to produce an accurate and measurable score based on their demonstrated ability.
  • a player rating engine can be configured to gather data related to a players ability in a variety of ways in order to produce an accurate and measurable score based on their demonstrated ability.
  • FIG. 6 is a flow chart illustrating an example method for determining a players skill level from a game server perspective in accordance with one embodiment of the systems and methods described herein.
  • the user can elect to have their ability in relation to a particular game evaluated and rated based on standardized simulations.
  • the standardized simulation can be designed to gauge a user's ability level with regard to key skills needed to play the associated game effectively.
  • a game server 400 receives an election to be tested from the user via the user's client device.
  • the election can actually comprise a request for the resources need to present various test simulations on the user's client device.
  • a test simulation can be presented to the user. This can comprise game server 400 sending the appropriate resources and scripts to the user's client device.
  • the simulation that a user is run through can be dependent upon the game of choice. For example, if the user desires to achieve a skill level rating in a first person shooter environment, they can be presented a detailed and rigorous testing environment that focuses on the skills and reflexes that are required to compete at a high level in such an environment.
  • step 606 data related to the users results or skill can be stored, e.g., in data repository 408 .
  • game server 400 can determine if the testing, or evaluation is complete. If the testing is not complete, then further simulations can be served to the user's client device. Once all simulations are complete, then the player's skill level can be determined, e.g., based on the data stored in step 606 . For example, the results obtained for each simulation or test environment can be combined to produce a score that is indicative of the user's ability in relation to a certain game.
  • the score can actually provide depth that can allow the user to determine what skills need to improve in order to achieve a higher score.
  • the score can be generalized so that it provides an indication as to how the user can perform in relation to a certain type, or genre of game.
  • a report of the user's results and skill rating can be produced in step 612 .
  • the report can then be provided to the end user, e.g., via a display on the associated client device.
  • the report can be made available via the Internet, World Wide Web, email, etc.
  • the report can also be made available to the gaming public, or a portion thereof, for evaluation, recruitment, rating, etc.
  • the user can receive detailed stats on their areas of fault and mastery. They can, e.g., receive a packaged electronically generated report that contains a thorough analysis of all of the key categories of first person shooters. As an example, the user can receive a score that shows how they ranked in areas such as team support, aim/accuracy/hit %, dodging ability, ammunition usage, tactics/strategy, etc.
  • the user can be provided with a detailed view of how they look from a graphical perspective, e.g., via a radar graph.
  • the optimal test score on the outer portion of the radar graph, the user can see how they can improve in the area of focus.
  • several skills are displayed around the outer edge of the graph.
  • the lighter shaded portion illustrates the results that a model player would receive for the illustrated skills.
  • the inner, darker shaded area illustrates the user's tested results.
  • the user can see where he needs to improve in order to achieve the model, or average, or highest level or whatever the comparison may be.
  • AIM/Accuracy as the area that needs the most improvement of the user's skill set.
  • data from actual game play can be recorded and used alone or in combination with simulation data described above, to determine the user's skill rating.
  • raw data obtained during game play can be filtered to retrieve data indicative of a player's ability in key areas.
  • the filtered data can then be used to generate a skill level rating, e.g., by generating a score as described above.
  • the skill rating data can also be reported to the user as described above.
  • a virtual camera system can be incorporated into the game environment that can record game play from various views live. This can, for example, be used to enable gamers to view battles in real-time as well as in replay. Features such as slow motion, instant replay and embedded view can all be provided. Embedded view can allow viewers to view the action and replays from that of any player in the first person, i.e., enable a non game player to see what a player sees during the game. For example, players can access the recorded views, e.g., using their client devices, and replay the game from various views. Additionally, in certain embodiments, non-players can access a game authority 108 and view the replays, or live action, from one or more camera views.
  • the non-players can access the recorded views using a client device as describe above, or can simply use a computer to access the a game authority 108 , e.g., via the Web.
  • the recorded views can be broadcast to viewers, e.g., who have signed up to receive such broadcasts. These broadcasts can be over Internet, cable, conventional broadcast media, etc.
  • each game can comprise “cameras” in various locations. These cameras are algorithmically generated and can be “placed” on the players, in fixed locations, or in movable locations. For example, a “cameraman” can be inserted into the game and associated with a “camera.” The “cameraman” can then roam around the game independently recording what he sees. Depending on the embodiment, such a “cameraman” is not visible to the actual game players.
  • An interactive player rating module can also be included within a game server 400 .
  • Such a module can allow viewers of the match to give insightful rating and commentary to specific players.
  • each player can be associated with a player profile.
  • This profile can, for example, contain official ratings as well as viewer ratings and commentary, which can be used to measure the popularity of a certain user for his in game tactics and techniques.
  • game server 400 can also comprise an interactive commentator module.
  • an interactive commentator module For example, upon the viewing of a game, a viewer can listen to active commentary that can be embedded via a media module.
  • the media module can, for example, allow third parties to launch insert and record their own webcasts and play by play while the game is being played. This can allow multiple webcasters the ability to comment on the play of the game at the same time. This technique will allow fans to choose the online media outlet/commentators that they like best when viewing the matches.
  • Certain embodiments also comprise an interactive cam casino module.
  • a cam casino module can be an add on component of the virtual camera capability described above. This module can enable viewers to watch and wager on the games being played and the performance of the player within the game.
  • a game authority 108 offers the developer a platform from which they can reach more users, with lower development costs, and even a mechanism by which they can raise funds to cover operating costs during development.
  • game developers find it very difficult to generate the funds needed to develop games.
  • they if they are developing games for a customized, or proprietary client device, or platform, then they must first get the approval of the device manufacturer. Otherwise, they risk being shut out of their target market, once the game is developed.
  • a game server 400 can be configured to provide a game developer with full access to server resources via game development scripts.
  • the scripts can be used to develop games using a platform agnostic process. In other words, the developer can develop one version of the game that can then be accessed and played using a plurality of different types of client devices. Adaptations, for the specific controls and capabilities associated with a given platform can be handled using a short, platform dependent translation script.
  • the translation script can be developed by the game developer, the platform developer, or even a third party.
  • the translation scripts can be passed from game server 400 to a game browser 500 .
  • the game development scripts allow the game developer the ability to develop games quickly, for a variety of platforms, without being bogged down with engine specific code.
  • the game development scripts can be implemented on both the game server and the game browser, which allows the load of the game to be shared between the two. Not only does this potentially reduce system bottlenecks, but it also allows the developer to decide where certain elements should be stored, i.e., on a game authority 108 or client device.
  • a developer can develop a demo version of a game, e.g., just a few levels or areas, and post it to a game authority 108 . Users can then be allowed to access the demo. This can provide feedback to the game developer before he invests more time and money to complete the development. In other words, if a lot of users download the demo, then it is clearly worth continuing with the development. In fact, users can even be charged a fee to access demos, which can help to fund the rest of he development.
  • system 100 from the game developer's point of view can be the elimination of the need for a publisher.
  • publishers are the ones who produces the packaging, labels, instructions, and disk associated with a game that is to be sold to the public. But since games in system 100 are simply uploaded to a game authority 100 , the need for the publisher is eliminated.
  • marketing can be made easier. For example, once the game is uploaded, marketing can be handled through game authority 100 or a related system. As explained below, users can have subscriptions to access games on game authority 108 . As part of the service, information about new games can be pushed out to the users, or made available, in order to generate interests in new games. The demo process described above is also a form of marketing.
  • System 100 can also be configured to perform testing and validation of the games.
  • the demo process can comprise part of the test and validation process. Separate test and validation capabilities and feedback can also be incorporated into game authority 108 .
  • the process of developing and bringing a game to the public can be made shorter, less expensive, and more profitable for the game developer using the systems and methods described herein.
  • users can pay a subscription to access games on a game authority 108 .
  • access can also be based on a fee per transaction basis or even for free depending on the embodiment and/or the situation.
  • users can be offered a certain base subscription price for access to a certain number of games for a certain period of time. For example, a base subscription can provide unlimited access to three games for one month. If the user would like more games or more time, then the subscription fee can be raised accordingly.
  • the game developer can then be paid a royalty based on the subscriptions collected.
  • the game developer is compensated via a royalty that is determined based on the popularity of the developer's game.
  • the popularity of a game can be determined based on how many subscriptions it is included in. Further, royalties can also be paid to certain platform developers. Again the royalty can be based on the number of users using a given platform to access game authority 108 .
  • Subscriptions prices can also vary as other services are added.
  • the user can pay in increased fee for access to demos, skill rating services, virtual camera services, and other features described above.
  • These additional service fees can generate more revenue for the game developer and/or platform developer, depending on the embodiment and the nature of the service associated with the increased fee.

Abstract

A server based videogame system comprises a game authority configured to store the resources and scripts associated with a plurality of video games. Users can access the games, which are hosted by the game authority using various client devices. Only portions of a game are then served to the user's client device when the user is playing a game. The user's client device is configured to predict what resources will be need soon based on a game page provided by the game authority that lists all of the resources and scripts associated with the game. The client device can then request resources and scripts before they are needed in order to maintain game flow.

Description

    RELATED APPLICATIONS INFORMATION
  • This application claims priority as a continuation under 35 U.S.C. 120 to U.S. patent application Ser. No. 11/057,394, filed Feb. 11, 2005, and entitled “Systems and Methods for Server Based Video Gaming,” which is incorporated herein by reference as if set forth in full.
  • This application is also related to U.S. patent application Ser. No. 11/058,093, filed Feb. 15, 2005, and entitled “Systems and Methods for Developing Video Games in a Server Based Video Gaming Environment,” and U.S. patent application Ser. No. 11/058,094, filed Feb. 15, 2005, and entitled “Systems and Methods for Providing Virtual Camera Views in a Server Based Video Gaming Environment,” and U.S. patent application Ser. No. 11/058,095, filed Feb. 15, 2005, and entitled “Systems and Methods for Providing Player Skill Rankings in a Server Based Video Gaming Environment,” all of which are incorporated herein by reference as if set forth in full.
  • BACKGROUND
  • 1. Field of the Invention
  • The inventions described herein relate generally to gaming videogames and more particularly to systems and methods for a server based videogame system.
  • 2. Background of the Invention
  • Computer video gaming has grown more and more popular with an ever broader segment of the population. Modem videogames can be played on a variety of client devices. For example, many games can be loaded on a home, or personal computer, while others are designed to be played on a customized game console that typically interfaces with the users television. The customized game consoles tend to have proprietary technology that requires that games be designed specifically for the particular game console. Even games designed for a personal computer typically require that the game be designed for specific operating systems.
  • Designing games for different platforms is not necessarily a trivial endeavor. Thus, the game developer must often commit to a specific platform and dedicate development resources to developing a game for the selected platform. In the case of custom game consoles, the game developer is often required to enter into a deal with the console manufacturer before the game can be sold to the public. Typically, the console manufacturer has tremendous leverage in negotiating deals with game developers, because they control access to the console required for the user to play the game.
  • The Internet has enabled networked versions of many games, where users can interact within the game environment via network connections. This interaction can comprise users collaborating to play the game, or users playing against each other.' To allow such collaboration, each user must purchase, or posses a copy of the game. Thus, the users will typically be using the same type of game console. The users then log onto, or otherwise access, a central game server. Each user then begins their version of the game. Each user's game console then communicates with the game server providing information related to the user's movements, actions, results, effects, etc., within the game. The server then communicates this information to the game console associated with the other users participating in the game. The game environment as seen, or experienced by these others is then updated accordingly by the user's game console.
  • The game server can also provide, or enable, communication between the user's game consoles. For example, Voice Over Internet Protocol (VoIP) communication links can be established between the user's game consoles to allow the users to communicate with each other within the game environment.
  • As with many digital media based industries, pirating of the games is a problem within the videogame industry.
  • SUMMARY OF THE INVENTION
  • A server based videogame system comprises one or more game authorities configured to store a plurality of videogames that can be accessed by users using client devices at locations remote from the game authority.
  • In one aspect, the game authority comprises a game server configured to server portions of the game scripts and resources to the client devices as needed.
  • In another aspect, the client devices include game browsers that act similarly to web browsers by requesting resources from the game authority as needed using URL requests.
  • These and other features, aspects, and embodiments of the invention are described below in the section entitled “Detailed Description.”
  • BRIEF DESCRIPTION OF THE FIGURES
  • Features, aspects, and embodiments of the inventions are described in conjunction with the attached drawings, in which:
  • FIG. 1 is a diagram illustrating a server based videogame system in accordance with one embodiment;
  • FIG. 2 is a flow chart illustrating an example method for implementing a server based video system from the perspective of a client device included in the system of FIG. 1;
  • FIG. 3 is a flow chart illustrating an example method for implementing a server based video system from the perspective of a game authority included in the system of FIG. 1;
  • FIG. 4 is a diagram illustrating an example embodiment of a game authority that can be included in the system of FIG. 1 and configured to implement the method of FIG. 3;
  • FIG. 5 is a diagram illustrating an example embodiment of a client device that can be included in the system of FIG. 1 and configured to implement the method of FIG. 2;
  • FIG. 6 is a flow chart illustrating an example method for providing skill level rankings to game players within the system of FIG. 1 in accordance with one embodiment; and
  • FIG. 7 is a graph illustrating an exemplary player skill ranking that can be produced using the method of FIG. 6.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 1. Overview
  • FIG. 1 is a diagram illustrating a server based video gaming environment 100 in accordance with one embodiment of the systems and methods described herein. System 100 comprises one or more game authorities 108 interfaced with a plurality of client devices, of which client devices 104 and 106 are illustrated by way of example, via network 102. Server authorities 108 host a plurality of videogames that can be accessed by users using client devices 104 and/or 106.
  • The term “authority” is intended to refer to all of the systems, both hardware and software, required to perform the functionality described herein. Thus, a game authority 108 can comprise one or more servers, computers, routers, databases, user interfaces, software programs and routines, etc., as required. Moreover, as illustrated several game authorities 108 can be included in system 100 depending on the embodiment. Multi-authority embodiments are described in more detail below. Each game authority 108 can comprise a game server configured to implement many of the functionalities described herein. The game server is described in more detail below as well.
  • Network 102 can comprise one or more Metropolitan Area Networks (MANs), Wide Area Networks (WANs), Local Area Networks (LANs), and Personal Area Networks (PANs). Moreover, the network, or networks, comprising network 100 can be wired or wireless or some combination thereof. Network 100 can also comprise the Internet. Network 102 can enable communication between game authorities 108 (link 114), between game authorities 108 and client devices 104 and 106 (links 112 and 116), and between client devices, e.g., between devices 104 and 106 (link 110).
  • In certain embodiments, communications flow between the various entities comprising system 100 can be organized during game playas required by the specific game being played. For example, as described below, users can use headsets to communicate voice signals with each other. In such cases, the headset to headset communications can be established via temporary communication links 110 between two or more client devices. Alternatively, some or all of the communications flow can be established prior to game play. Communication flow is described in more detail below as well.
  • Users can use a variety of client devices to interface with game authorities 108 including desktop computers, laptop computers, handheld or palm computers, mobile communication devices, such as wireless telephones, Personal Digital Assistants (PDAs), and the like, as well as custom game consoles. In the example illustrated in FIG. 1, client device 104 is a desktop computer. Depending on the embodiment, client device 104 can be configured to run the Windows® operating system or another operating system such as Linspire™. Client device 108 on the other hand is a custom game console, such as the XBOX® game console. Each client device comprises a game browser, which will be discussed in more detail below.
  • System 100 can be configured to provide a 3-Dimensional (3D) videogame environment presented, e.g., by game servers running on game authorities 108 to users via game browses running on the user's client devices. In one embodiment, the game servers running on game authorities 108 and the game browsers running on client devices 104 and 106 are not game specific, i.e., the game server and game browser can be generic with respect to the games. Accordingly, no customization of the game server and/or game browser is required to play different games. Moreover, as explained below, game developers developing games for system 100 do not need to be concerned with what type of client device the user, or users, are using. The game developer can simply develop one version of the game for system 100, which can then be accessed and played by users using any type of client device.
  • Unlike conventional gaming systems, the game is stored on game authorities 108 as opposed to the client devices. Portions of the game environment can then be downloaded to each client devices as required. By only downloading portions of the game at any given time, the communications and processing bandwidth within the system can be conserved enabling the game to be hosted by a game authority 108. In one embodiment, the approach used is similar to the structure of a web browser-web server combination. Websites comprise Hyper Text Markup Language (HTML) files that can be interpreted by a web browser.
  • When a website is visited using a web browser, the basic HTML files served by the web site to the browser contain “tags” that described how the “pages” associated with the web site are to be displayed on the user's computer. Some of these “tags” point to other resources, such as pictures, text and even links to other “pages,” associated with the web site or with other web sites. In system 100, when a game is accessed via a game server on a game authority 108, a document is served to the game browser running on a client device. The document served by the game server can provide the game browser with information needed by the browser to conduct game play. The document, or game page, can act as a directory, or database, that contains a list of resources associated with the game being played. The resources can be images, executables, sound files, etc. associated with the game.
  • Different resources can be associated with different parts of the game. Thus, the directory can also inform as to what resources are associated with which portions of the game. As the player moves through, or progresses in, the game, the user's game browser can interpret the directory to determine what resources will be required in the near future. The game browser can be configured to communicate with the game server, running on the associated game authority, or authorities 108 to prepare to download, or access, the resources that will soon be needed.
  • The additional resources can be requested in the same manner as the game page. For example, a request for a resource can be sent to a Universal Resource Locator (URL) with the appropriate parameters for the requested resource in the header portion of the URL. Again, this is very similar to how web based activities are performed, e.g., this is very similar to “posting a form” in a web environment. Once the game server receives a request for a resource from a web browser, it can be configured to respond by sending the requested resource back to the game browser making the request.
  • The game browser can also be configured to “Cache” resources. Thus, when the game server receives a request for new resources, it can be configured to determine what resources already reside on the client device and only download resources not present on the client device.
  • Thus, in this manner, the user, or game player, can navigate through the game in a normal fashion; however, the majority of the game resources are actually stored on the associated game authority 108. Only the resources that are immediately needed, and those that may be needed in the near future reside on the user's client device. Effectively, the interaction between the game browser on the user's client device and the game server on the associated game authority 108 maintains a “halo” of resources around the user as the user navigates, or progresses through the game. The game browser provides the user with the game play experience by interpreting and presenting the information extracted from the game server over network 102, e.g., the Internet. But just as a web browser does not need prior knowledge of a web site to allow a user to view pages associated with the web site, the game browser can be configured such that it does not need any prior knowledge of a game, or game site, hosted by a game authority 108.
  • FIG. 2 is a flow chart illustrating an example method for implementing a server based video gaming system from the perspective of a game browser running on a client device in accordance with one embodiment of the systems and methods described herein. The example method of FIG. 2 assumes that the user has already accessed a game server running on a single game authority 108. In step 202, the user can select a game to play. In many embodiments, game authority can be configured to host a plurality of games. Thus, there must be some mechanism by which the user can select a game. In one embodiment, the user first “arrives” in a “launch room.” The “launch room” can comprise a plurality of doors, with each door being associated with a different game. The user can then move, via controls on their client device, through the door associated with the game they have chosen.
  • Going through the door can cause the game experience to begin. For example, The door through which the user moves in order to select a particular game can actually be a set of links to another “area,” e.g., the starting zone for a particular game. Moving through the door can be the web equivalent of clicking on a web link. In other words, moving through the door can cause the game browser to send a URL request to the game server requesting the game page and/or system resources associated with the area of the game, such as the start zone, into which the user is moving. As explained in more detail below, videogame play can then comprise moving from area to area, or progressing through a game, which can be the equivalent of clicking on links in order to access more resources.
  • In step 204, the game page associated with the game selected can be downloaded to the client device and interpreted by the game browser. As mentioned above, the game page can comprise a directory of resources required to implement the game play. In step 206, those resources required to display the game environment inside the “active halo” around the user can then be downloaded and displayed on the display associated with, or interfaced with, the user's client device.
  • As mentioned above, the entire game never resides on the user's client device. Rather, only the area immediately surrounding the user is downloaded. As the user moves or progresses through the game, the game browser is monitoring the user's movements and/or progression and anticipating what resources will be required. The term “active halo” is intended to refer to that area of the game that is resident on the user's client device. The term “halo” is not intended to limit the active area around the user to a halo shape. The active area can actually comprise a circle, oval, square, etc. Nor is the term “active halo” intended to refer to just that area being displayed. It can also comprise resources and parts of the game not actively displayed, but resident on the client device. It should be clear that in order for game play to remain smooth and uninterrupted, more of the game than just that portion being displayed should be resident on the client device.
  • As the game progresses, the user's client device can be configured to determine whether there is movement, action, or progression associated with the game that requires, or soon will require, resources not resident on the client device. As an example, if the game is a role playing game, or an action game, where the user controls the movements of a character within the game, then new resources will be required as the user moves the character through the game. As will be understood, such games typically comprise a diverse geographic layout. Accordingly, the “active halo” surrounding the user's character, and resident on the user's client device, can comprise all the resources required to display the area immediately surrounding the user's character. As the user moves the character around within the game environment, new resources, e.g., models will need to be displayed or used. Thus, as the user moves the character around within the game environment, the client device can be configured to detect this movement, or activity, and update the display accordingly in step 210.
  • Updating the display can comprise changing views as the user's character moves in different directions and displaying different aspects in the surrounding environment as the character moves from one place to the next. The client device can be configured, in step 212, to inform the associated game server of the movement or activity so that the game server always has the most updated information related to the progression of the game. This can, for example, be important in multiplayer games, where the players reside at more than one remote location.
  • As the character moves within the game, new resources, i.e., resources not resident on the client device, will eventually be required. Thus, in step 214, it can be determined if new resources are needed, e.g., based on the game page previously downloaded. If new resources are needed, then they can be requested and downloaded in step 216. As stated above, the request can be in the form of a URL request. In certain embodiments, the client device can be configured to predict what resources will be needed and ask for them ahead of time. It will be appreciated that the resources should be resident on the client device before they are need in order maintain game flow, etc.
  • In step 218, it can be determined whether there has been any change in the surrounding environment. For example, another character may have moved into sight, a car may have driven by, etc. If the environment has changed, then the display can be updated (step 210). New resources may need to be downloaded as a result of the environment change. If so, then this can be determined in step 214 and the requisite resources downloaded in step 216.
  • FIG. 3 is flow chart for implementing a server based video gaming system from the perspective of a game server running on a game authority in accordance with one embodiment of the systems and methods described herein. In step 302, the game server can receive a game selection from a client device. In response to the game selection, the game server can be configured to download a game page in step 304 as described above. In step 306, the game server can receive a request for new game resources. These game resources are associated with the portion of the game that will be resident on the client device. The rest of the game remains resident on the game authority. In step 308, the requested resources can be sent to the client device.
  • Sending the resources comprises sending the resources and the scripts that tell the client device how to implement or use the resources. Thus, bandwidth can be conserved, because the data can be sent in a very compact way. In fact, often the client device will already have all the resources resident on the client device that the client device needs to implement the next portion of the game environment. All that will need to be downloaded are the scripts necessary to make use of the resources to implement the next portion of the game environment.
  • In step 310, the game server can receive updates from the client device. For example, the updates can be related to the movement or activity of a character within the game environment running on the user's client device. The game server can update the active version of the game in step 312 with this new information. Further, if it is a multiplayer game, where players are using more than one client device, e.g., at more than one location, to access the game server, then these other users' will need to be updated as to the changes in the game environment. Accordingly, the game server can determine in step 314, whether it is a multiplayer environment, and update the other players in step 316.
  • In step 318, it can be determined whether there are any non-player controlled updates to the game environment. If so, then these updates can be provided to the users in step 316. Non-player controlled changes can comprise changes generated by the game itself, i.e., the movement of game generated characters or components, etc.
  • Example resource types that can be associated with a game can include, spatial links, e.g., to the next game page in each possible direction. Specifications on other players currently viewing the current game page, i.e., information related to other players, or characters associated with another user that are in the same area of the game, can be included. Sound files can also be included. All of the sound files associated with a game can be referred to as a sound track. As explained below, there can even be multiple sound files, or tracks, associated with the same game. Models for the various components in the game can be included. Again, as explained below, multiple versions of the models can be included. Other resources can include, animations, textures, and control mappings, i.e., what key on the computer, or client device does something in the game. Again, the animations and textures can have multiple versions.
  • Aspects like rooms, forests, creatures, and even other players, or characters can be represented by textured models, which can be a combination of a 3D model with an accompanying texture.
  • Like the modem web, the game server and game site, i.e., the collection of game pages, are “dynamic,” i.e., they change as time passes. The causes of such change can be varied. Some causes are simply a function of time, or a function of the game itself. Some are direct or indirect results of individual player's actions. Some causes are random, or dependent on outside monitoring of real world events. The varied causes of change that keeps the game environment dynamic help keep the games interesting.
  • By implementing the processes of FIGS. 2 and 3, the game resources reside on the server with only a portion of the game residing on the client devices. As a result, a server based gaming environment can be implemented. As illustrated in FIG. 1, and explained in more detail below, client to client communication can also be provided, as can authority to authority based communication, e.g., in multi-authority embodiments. Multiple game authorities can be used, e.g., for load balancing, redundancy, and to increase download speeds.
  • Referring back to FIG. 1, a communication overview will be provided. There can be three basic types of communication links associated with a system 100 as configured in accordance with the systems and methods described herein. First, as illustrated, system 100 can comprise client- server communication links 112 and 116. These links can, depending on the embodiment, be initiated by the client device or game authority; however, in most cases the client device will initiate connectivity with a game authority 108. Links 112 and 116 can be used by the game browser to access the game page, request and download resources, provide update information to the game server, etc.
  • Second, system 100 can comprise client-client links 110. These links can allow for direct communication between client device, e.g., client devices 104 and 106. In many multi-player games, communication between user's can be essential, e.g., were multiple players are on the same team. These communications can be relayed via game authority 108; however, in many instances there is no need to burden game authority 108 with the client to client communications. Thus, for example, link 110 can comprise VoIP communication links over which user's can communicate with each other, e.g., using headsets interfaced with their respective client devices. In certain embodiments, transcripts, or logs, of the communication between users, or client devices, can be stored by one or more of the client devices involved. The stored logs can then be uploaded to the server at a later time.
  • Third, system 100 can comprise inter-server communication links 114. Link 114 can comprise LAN links and/or WAN links depending on the embodiment. Link 114 allows multiple game authorities, or game servers, to synchronize with each other. As mentioned, multiple authorities can be used, e.g., for redundancy, load sharing, or faster download capability.
  • a. The Game Server
  • FIG. 4 is a diagram illustrating an exemplary game server 400 configured to run on a game authority 108 in accordance with one embodiment of the systems and methods described herein. As illustrated, game server 400 comprises communication processor 402 and game play engine 404, and is interfaced with data repository 408.
  • Communication processor 402 can be configured to process communication traffic between game server 400 and other game servers as well as between game server 400 and client devices. Communication processor 402 can, for example, be configured to queue requests for information from client devices, or other game servers, and passes back the appropriate responses from the game play engine 404.
  • Game play engine 404 can be configured to process game scripts 406 associated with various games loaded onto the associated game authority 108. The games, or game scripts 404 can be provided by game developers as described in more detail below. Game scripts 406 control the interaction between user's, game servers, and combinations thereof. Game play engine 404 can be configured to service requests for information by pulling the requested information from, e.g., the data repository 408. Game play engine 404 can be further configured to record information sent back from the client devices regarding the associated user's various exploits within the games.
  • Game play engine 404 can be configured to run all game scripts 406 provided by the various game developers, and is the server side of the software which determines what players will be “managed” for interaction, etc. The rest of this interaction is handled by a processor in the client device. Game play engine 404 can be where all of the “universal gameplay” tasks are handled. Rankings, alliances, and accumulated “treasures” can all be handled here. Of course, the final determination of what resides where rests with the game developer.
  • As mentioned above, game play engine 404 can be configured to simply download the resources and scripts needed to implement a current portion of the game environment to the client device. Often, the client device will have all of the resources necessary to implement the next portion of the game environment already cached on the device. Thus, all the game play engine needs to do is serve the scripts that tell the game browser running on the client device how to use the resources to implement the next portion of the game environment. Before downloading new resources, game play engine 404 can be configured to determine what resources the client device has cached on the device and only serve the resources and scripts not already resident on the client device.
  • Data repository 408 is where all of the resources 410, e.g., models, their textures, sounds, music control specifications, links, etc., are stored. Everything there is to know about a game should be stored in data repository 408. For example, all of the motion rules, which determine how an object responds to player inputs on the client device can be stored in data repository 408. Data repository 408 can also be configured to store “control templates,” which can translate the controls the game needs, to what the player's client device is equipped with, and “extended object trajectories,” which can help to determine what will happen to an object in motion through multiple areas. These extended object trajectories can be used to allow a game browser to predict which will be needed and when they should be requested.
  • Depending on the embodiment, data repository 408 can be a database or file structure. A database is much easier to maintain, copy, synchronize with other servers, create mirrors, etc. In fact, there are many advantages to the use of a database; however, cost can be a disadvantage. The same tasks can, depending on the embodiment, be accomplished with simple files and data structure; however, such implementations tend to be much less standardized and much more system dependent. Accordingly, the appropriate tradeoffs should be made on an independent basis between cost and ease of implementation.
  • Game servers 400 are capable of communication with each other as well as the client devices. This allows a game hosted on multiple game servers 400 to have some commonality. One game can be on many servers 400, or one server 400 can have many games. For example, ten servers 400 can be home to 10% of each of 10 completely different games. Any combination is possible, which provides a great deal of flexibility in resource allocation. If a game is extremely popular, dedicated servers 400 can be used to handle the load; however, if there are 10 mildly popular games, the former scenario is probably a more efficient use of resources.
  • b. The Client Device
  • FIG. 5 is a diagram illustrating an example client device 501 comprising a game browser 500 configured in accordance with one embodiment of the systems and methods described herein. As can be seen, game browser 500 comprises communication processor 502, game processor 506, sound processor 508, graphics engine 510, and is interfaced with data repository 504.
  • Communication Processor 502 can be configured to process all of the data coming from gamer servers and other client devices. Communication processor 502 can be configured to pass advance requests on to data repository 504, while more immediate information can be sent to game processor 506. Advance requests can, for example, be data that game browser 500 has determined will be needed in the near future, such as the model for the next area in the current direction of travel, while the more immediate information can be data and/or changes regarding the current position within the game environment.
  • Game processor 506 can be configured to receive information about how the controls and display will be formatted, how all of the objects in the given area react to various other objects and the player, and of course, how the player interacts with a particular scene. While communication processor 506 can be running in the background, e.g., feeding data repository 504, game processor 506 can be running in the foreground controlling graphics engine 510, sound processor 508, and of course interpreting the player's responses. Game processor 506 can be configured to use data stored in data repository 504, make its own entries in the data repository 504 for future reference, and sends back reports and requests to communications process 502.
  • Graphics engine 510 can be configured to draw and animate the current scene on the display associated with client device 501. Game processor 502 can be configured to instruct graphics processor 510 as to which models, textures, and positions to use, but graphics processor 510 has the complex task of actually rendering the effect, e.g., in 3D on the client device display.
  • Sound processor 508 can be configured to play the music track, sound effects, and any other incoming or outgoing audio, such as from a headset-to-headset device.
  • Data repository 504 can, depending on the embodiment, be a database established on client device 501. Thus, it is preferable that each client device within system 100 comprise some sort of mass storage. The actual data storage requirements can vary by game, and can also be related to the level of support given to a certain type of device. For instance, a PC can have a given 3D model's texture represented at 1024×768 pixels and 65535 color depth, while a PCS phone playing the same game can only be 102×77 with a 16 color depth.
  • 2. Additional Features
  • The systems and methods described above enable a server based game environment, because only portions of the game are downloaded to the client devices. Thus, bandwidth is not an issue and the game can be played without any interruption of game flow or game experience. The game server can also update one player with information related to another player in a quick and easy manner. The systems and methods described above can, depending on the embodiment, lead to other features and advantages as described below. It will be clear that the systems and methods described above can provide other features and advantages as well and that the features and advantages discussed below are simply exemplary of the enhanced performance that can be provided by the systems and methods described herein.
  • a. Multi-Track Games
  • Because a game authority 108 stores the resources 410 and scripts 406 required for game play, multiple versions of the same game can be stored and made available for users. For example, if the game designer chooses to do so, various versions, e.g., mild, mature, and violent, of a game can be designed and loaded on game authority 108. The user can then be given the option of which version of the game the user wants to play. Alternatively, the game developer can produce multiple versions, where certain versions have enhanced or added content. The user can then, for example, be given the option of which version they want to play. If the user selects a version with enhanced or additional content, the user can be charged more. In another embodiment, different language versions of a game can be developed. The user can then select the language version they desire when selecting a game. Different language versions can comprise simply providing different sound tracks and audio effects as mentioned below.
  • Conventionally, the game developer is forced to design games at great cost to the developer and with very little guarantee of any return. This makes it very difficult from a practical standpoint for the developer to design more than one version of the game. As a result, games are designed to appeal to the broadest market, but in so doing certain section of the market may be turned off by graphic content or high prices. By combining the storage and access capability of the systems and methods described above, with the development processes described below, multi-track capability is made practical. This can provide access to sections of the market previously inaccessible for one reason or another, by providing multiple versions of the game or the content/resource therein.
  • The multi-track capability can also apply to the sound track and audio effects as well as to the graphical content of the games.
  • b. Parental Control
  • A consequence of the multi-track capability described is the ability to provide easy to use and implement parental control. For example, at least two version of a game can be stored on game authority 108: a child friendly version; and an adult version. When a user accesses a game, they can indicate which version they want. Moreover, as part of the users subscription, they can indicate a parental control election that can govern what version can be accessed. Subscriptions are described in more detail below.
  • Accordingly, the systems and methods can provide increased parental control and more options, e.g., to families.
  • c. Piracy Protection
  • Piracy is a problem that plagues the game industry. Piracy is the unauthorized copying and distribution of a game. Copy protection techniques are well known and widely used; however, they have proven ineffective at preventing piracy. But because a whole version of game is never on any client device at anyone time, games hosted by game authorities 108 cannot be easily copied. In order to effectively copy a game, a user would have to navigate through the whole game, i.e., every option, path, experience, etc., while recording all of the data at the same time. This presents a complex problem for a would be pirate that cannot be easily overcome. As mentioned above, encryption can also be employed to help prevent the unauthorized access and copying of game content.
  • d. Player Rating
  • System 100 can be configured to allow game players to be rated as to their skill level for various games. Skill level ratings can be useful for a variety of reasons. For example, a skill level rating can be useful for the game player to rate how good they are at a game relative to other players and/or to track their improvement in playing a given game. Additionally, it is envisioned that leagues will become popular, where players join to play against each other, or the game, alone or in teams. In this context, skill level ratings can be used to select teams, pair opponents, seed competitions, etc.
  • Accordingly, game server 400 can further comprise a player rating engine that can be configured to gather data related to a players ability in a variety of ways in order to produce an accurate and measurable score based on their demonstrated ability.
  • FIG. 6 is a flow chart illustrating an example method for determining a players skill level from a game server perspective in accordance with one embodiment of the systems and methods described herein. In the example of FIG. 6, the user can elect to have their ability in relation to a particular game evaluated and rated based on standardized simulations. The standardized simulation can be designed to gauge a user's ability level with regard to key skills needed to play the associated game effectively.
  • Thus, in step 602, a game server 400 receives an election to be tested from the user via the user's client device. As explained above, the election can actually comprise a request for the resources need to present various test simulations on the user's client device. In step 604, a test simulation can be presented to the user. This can comprise game server 400 sending the appropriate resources and scripts to the user's client device. The simulation that a user is run through can be dependent upon the game of choice. For example, if the user desires to achieve a skill level rating in a first person shooter environment, they can be presented a detailed and rigorous testing environment that focuses on the skills and reflexes that are required to compete at a high level in such an environment.
  • In step 606, data related to the users results or skill can be stored, e.g., in data repository 408. In step 608, game server 400 can determine if the testing, or evaluation is complete. If the testing is not complete, then further simulations can be served to the user's client device. Once all simulations are complete, then the player's skill level can be determined, e.g., based on the data stored in step 606. For example, the results obtained for each simulation or test environment can be combined to produce a score that is indicative of the user's ability in relation to a certain game.
  • In certain embodiments, the score can actually provide depth that can allow the user to determine what skills need to improve in order to achieve a higher score. Moreover, the score can be generalized so that it provides an indication as to how the user can perform in relation to a certain type, or genre of game.
  • A report of the user's results and skill rating can be produced in step 612. The report can then be provided to the end user, e.g., via a display on the associated client device. Alternatively, the report can be made available via the Internet, World Wide Web, email, etc. The report can also be made available to the gaming public, or a portion thereof, for evaluation, recruitment, rating, etc.
  • For example, in the first person shooter environment context, the user can receive detailed stats on their areas of fault and mastery. They can, e.g., receive a packaged electronically generated report that contains a thorough analysis of all of the key categories of first person shooters. As an example, the user can receive a score that shows how they ranked in areas such as team support, aim/accuracy/hit %, dodging ability, ammunition usage, tactics/strategy, etc.
  • Based on the reporting statistics the user can be provided with a detailed view of how they look from a graphical perspective, e.g., via a radar graph. By showing the optimal test score on the outer portion of the radar graph, the user can see how they can improve in the area of focus. For example, in the example radar graph of FIG. 7, several skills are displayed around the outer edge of the graph. The lighter shaded portion illustrates the results that a model player would receive for the illustrated skills. The inner, darker shaded area illustrates the user's tested results. Thus, the user can see where he needs to improve in order to achieve the model, or average, or highest level or whatever the comparison may be. In this example, it is clear that the system has identified AIM/Accuracy as the area that needs the most improvement of the user's skill set.
  • In another embodiment, data from actual game play can be recorded and used alone or in combination with simulation data described above, to determine the user's skill rating. For example, raw data obtained during game play can be filtered to retrieve data indicative of a player's ability in key areas. The filtered data can then be used to generate a skill level rating, e.g., by generating a score as described above. The skill rating data can also be reported to the user as described above.
  • e. Virtual Camera Views
  • In certain embodiments, a virtual camera system can be incorporated into the game environment that can record game play from various views live. This can, for example, be used to enable gamers to view battles in real-time as well as in replay. Features such as slow motion, instant replay and embedded view can all be provided. Embedded view can allow viewers to view the action and replays from that of any player in the first person, i.e., enable a non game player to see what a player sees during the game. For example, players can access the recorded views, e.g., using their client devices, and replay the game from various views. Additionally, in certain embodiments, non-players can access a game authority 108 and view the replays, or live action, from one or more camera views. The non-players can access the recorded views using a client device as describe above, or can simply use a computer to access the a game authority 108, e.g., via the Web. Alternatively, depending on the embodiment, the recorded views can be broadcast to viewers, e.g., who have signed up to receive such broadcasts. These broadcasts can be over Internet, cable, conventional broadcast media, etc.
  • Accordingly, each game can comprise “cameras” in various locations. These cameras are algorithmically generated and can be “placed” on the players, in fixed locations, or in movable locations. For example, a “cameraman” can be inserted into the game and associated with a “camera.” The “cameraman” can then roam around the game independently recording what he sees. Depending on the embodiment, such a “cameraman” is not visible to the actual game players.
  • An interactive player rating module can also be included within a game server 400. Such a module can allow viewers of the match to give insightful rating and commentary to specific players. For example, each player can be associated with a player profile. This profile can, for example, contain official ratings as well as viewer ratings and commentary, which can be used to measure the popularity of a certain user for his in game tactics and techniques.
  • In certain embodiments, game server 400 can also comprise an interactive commentator module. For example, upon the viewing of a game, a viewer can listen to active commentary that can be embedded via a media module. The media module can, for example, allow third parties to launch insert and record their own webcasts and play by play while the game is being played. This can allow multiple webcasters the ability to comment on the play of the game at the same time. This technique will allow fans to choose the online media outlet/commentators that they like best when viewing the matches.
  • Certain embodiments also comprise an interactive cam casino module. A cam casino module can be an add on component of the virtual camera capability described above. This module can enable viewers to watch and wager on the games being played and the performance of the player within the game.
  • 3. Game Development
  • The systems and methods described above can lead to several advantages for the game developer, because a game authority 108 offers the developer a platform from which they can reach more users, with lower development costs, and even a mechanism by which they can raise funds to cover operating costs during development. Often game developers find it very difficult to generate the funds needed to develop games. Moreover, if they are developing games for a customized, or proprietary client device, or platform, then they must first get the approval of the device manufacturer. Otherwise, they risk being shut out of their target market, once the game is developed.
  • What often occurs is that the developer will get an agreement up front from a device manufacturer that pays the developer money prior to developing the product. The funds pay for development of the product, but typically cannot be used to pay other operating cost for the developer. Further, the amount paid is typically based on a projected amount of sales. If the game does not sell enough, then the game developer may be required to refund some of the money. Conversely, if the game is a big success with greater demand than anticipated, the developer does not necessarily get more money. In fact, since it is likely that only the projected number of games were manufactured and put on shelves, it is likely that this extra demand will go unmet.
  • System 100 can be configured, however, to significantly reduce the risks and costs associated with development for the game developer. For example, a game server 400 can be configured to provide a game developer with full access to server resources via game development scripts. The scripts can be used to develop games using a platform agnostic process. In other words, the developer can develop one version of the game that can then be accessed and played using a plurality of different types of client devices. Adaptations, for the specific controls and capabilities associated with a given platform can be handled using a short, platform dependent translation script. The translation script can be developed by the game developer, the platform developer, or even a third party. The translation scripts can be passed from game server 400 to a game browser 500.
  • The game development scripts allow the game developer the ability to develop games quickly, for a variety of platforms, without being bogged down with engine specific code. The game development scripts can be implemented on both the game server and the game browser, which allows the load of the game to be shared between the two. Not only does this potentially reduce system bottlenecks, but it also allows the developer to decide where certain elements should be stored, i.e., on a game authority 108 or client device.
  • Additionally, a developer can develop a demo version of a game, e.g., just a few levels or areas, and post it to a game authority 108. Users can then be allowed to access the demo. This can provide feedback to the game developer before he invests more time and money to complete the development. In other words, if a lot of users download the demo, then it is clearly worth continuing with the development. In fact, users can even be charged a fee to access demos, which can help to fund the rest of he development.
  • Another advantage of system 100 from the game developer's point of view can be the elimination of the need for a publisher. Conventionally, publishers are the ones who produces the packaging, labels, instructions, and disk associated with a game that is to be sold to the public. But since games in system 100 are simply uploaded to a game authority 100, the need for the publisher is eliminated.
  • Similarly, marketing can be made easier. For example, once the game is uploaded, marketing can be handled through game authority 100 or a related system. As explained below, users can have subscriptions to access games on game authority 108. As part of the service, information about new games can be pushed out to the users, or made available, in order to generate interests in new games. The demo process described above is also a form of marketing.
  • System 100 can also be configured to perform testing and validation of the games. In fact, the demo process can comprise part of the test and validation process. Separate test and validation capabilities and feedback can also be incorporated into game authority 108.
  • Accordingly, the process of developing and bringing a game to the public can be made shorter, less expensive, and more profitable for the game developer using the systems and methods described herein.
  • 4. Subscription Model
  • As mentioned, users can pay a subscription to access games on a game authority 108. It should be noted that access can also be based on a fee per transaction basis or even for free depending on the embodiment and/or the situation. But in one embodiment, users can be offered a certain base subscription price for access to a certain number of games for a certain period of time. For example, a base subscription can provide unlimited access to three games for one month. If the user would like more games or more time, then the subscription fee can be raised accordingly.
  • The game developer can then be paid a royalty based on the subscriptions collected.
  • For example, in one embodiment, the game developer is compensated via a royalty that is determined based on the popularity of the developer's game. The popularity of a game can be determined based on how many subscriptions it is included in. Further, royalties can also be paid to certain platform developers. Again the royalty can be based on the number of users using a given platform to access game authority 108.
  • Subscriptions prices can also vary as other services are added. For example, the user can pay in increased fee for access to demos, skill rating services, virtual camera services, and other features described above. These additional service fees can generate more revenue for the game developer and/or platform developer, depending on the embodiment and the nature of the service associated with the increased fee.
  • While certain embodiments of the inventions have been described above, it will be understood that the embodiments described are by way of example only. Accordingly, the inventions should not be limited based on the described embodiments. Rather, the scope of the inventions described herein should only be limited in light of the claims that follow when taken in conjunction with the above description and accompanying drawings.

Claims (1)

1. A client device in a server based videogame system, the client device comprising:
a data repository configured to store portions of resources and scripts required to implement a game environment associated with a videogame being played using the client device; and
a game browser interfaced with the data repository, the game browser configured to manage the resources and scripts in order to implement a portion of the game environment and to request more resources and scripts as required to implement other portions of the game environment.
US13/006,387 2005-02-11 2011-01-13 Systems and methods for server based video gaming Abandoned US20120021835A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/006,387 US20120021835A1 (en) 2005-02-11 2011-01-13 Systems and methods for server based video gaming

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US5739405A 2005-02-11 2005-02-11
US13/006,387 US20120021835A1 (en) 2005-02-11 2011-01-13 Systems and methods for server based video gaming

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US5739405A Continuation 2005-02-11 2005-02-11

Publications (1)

Publication Number Publication Date
US20120021835A1 true US20120021835A1 (en) 2012-01-26

Family

ID=45494068

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/006,387 Abandoned US20120021835A1 (en) 2005-02-11 2011-01-13 Systems and methods for server based video gaming

Country Status (1)

Country Link
US (1) US20120021835A1 (en)

Cited By (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140157144A1 (en) * 2012-12-04 2014-06-05 DeNA Co., Ltd. Network system
US20140235313A1 (en) * 2013-02-19 2014-08-21 Gtech Corporation Lottery Game Market with Developer Network
US8919775B2 (en) 2006-11-10 2014-12-30 Bally Gaming, Inc. System for billing usage of an automatic card handling device
US8974305B2 (en) 2012-01-18 2015-03-10 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US8986091B2 (en) 2007-06-06 2015-03-24 Bally Gaming, Inc. Casino card handling with game play feed
US9087430B2 (en) 2012-04-20 2015-07-21 Milo Borissov Architecture for server-based casino gaming machine system
US9120007B2 (en) 2012-01-18 2015-09-01 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US9126102B2 (en) 2002-05-20 2015-09-08 Bally Gaming, Inc. Four-card poker game with variable wager
US9129487B2 (en) 2005-06-17 2015-09-08 Bally Gaming, Inc. Variant of texas hold 'em poker
US9166882B1 (en) * 2011-12-13 2015-10-20 Amazon Technologies, Inc. Remote browsing session management
US9165428B2 (en) 2012-04-15 2015-10-20 Bally Gaming, Inc. Interactive financial transactions
US20150314196A1 (en) * 2014-05-01 2015-11-05 MPH, Inc. Deployment of an electronic game using device profiles
US9183705B2 (en) 2004-09-10 2015-11-10 Bally Gaming, Inc. Methods of playing wagering games
US9208608B2 (en) 2012-05-23 2015-12-08 Glasses.Com, Inc. Systems and methods for feature tracking
US9220971B2 (en) 2006-05-31 2015-12-29 Bally Gaming, Inc. Automatic system and methods for accurate card handling
US9220972B2 (en) 2001-09-28 2015-12-29 Bally Gaming, Inc. Multiple mode card shuffler and card reading device
US9236024B2 (en) 2011-12-06 2016-01-12 Glasses.Com Inc. Systems and methods for obtaining a pupillary distance measurement using a mobile computing device
US9233298B2 (en) 2009-04-07 2016-01-12 Bally Gaming, Inc. Playing card shuffler
US9266012B2 (en) 1998-04-15 2016-02-23 Bally Gaming, Inc. Methods of randomizing cards
US9266011B2 (en) 1997-03-13 2016-02-23 Bally Gaming, Inc. Card-handling devices and methods of using such devices
US9286715B2 (en) 2012-05-23 2016-03-15 Glasses.Com Inc. Systems and methods for adjusting a virtual try-on
US20160080442A1 (en) * 2014-09-17 2016-03-17 Microsoft Corporation Intelligent streaming of media content
US9333415B2 (en) 2002-02-08 2016-05-10 Bally Gaming, Inc. Methods for handling playing cards with a card handling device
US9345951B2 (en) 2001-09-28 2016-05-24 Bally Gaming, Inc. Methods and apparatuses for an automatic card handling device and communication networks including same
US9345952B2 (en) 2006-03-24 2016-05-24 Shuffle Master Gmbh & Co Kg Card handling apparatus
US9370710B2 (en) 1998-04-15 2016-06-21 Bally Gaming, Inc. Methods for shuffling cards and rack assemblies for use in automatic card shufflers
US9378766B2 (en) 2012-09-28 2016-06-28 Bally Gaming, Inc. Card recognition system, card handling device, and method for tuning a card handling device
US9387390B2 (en) 2005-06-13 2016-07-12 Bally Gaming, Inc. Card shuffling apparatus and card handling device
USD764599S1 (en) 2014-08-01 2016-08-23 Bally Gaming, Inc. Card shuffler device
US9452346B2 (en) 2001-09-28 2016-09-27 Bally Gaming, Inc. Method and apparatus for using upstream communication in a card shuffler
US9473758B1 (en) * 2015-12-06 2016-10-18 Sliver VR Technologies, Inc. Methods and systems for game video recording and virtual reality replay
US9474957B2 (en) 2014-05-15 2016-10-25 Bally Gaming, Inc. Playing card handling devices, systems, and methods for verifying sets of cards
US9483853B2 (en) 2012-05-23 2016-11-01 Glasses.Com Inc. Systems and methods to display rendered images
US9504905B2 (en) 2014-09-19 2016-11-29 Bally Gaming, Inc. Card shuffling device and calibration method
US9511274B2 (en) 2012-09-28 2016-12-06 Bally Gaming Inc. Methods for automatically generating a card deck library and master images for a deck of cards, and a related card processing apparatus
US9539494B2 (en) 2009-04-07 2017-01-10 Bally Gaming, Inc. Card shuffling apparatuses and related methods
US9566501B2 (en) 2014-08-01 2017-02-14 Bally Gaming, Inc. Hand-forming card shuffling apparatuses including multi-card storage compartments, and related methods
US9569919B2 (en) 2012-04-20 2017-02-14 Milo Borissov Architecture for server-based casino gaming machine system
US9616324B2 (en) 2004-09-14 2017-04-11 Bally Gaming, Inc. Shuffling devices including one or more sensors for detecting operational parameters and related methods
US9623317B2 (en) 2006-07-05 2017-04-18 Bally Gaming, Inc. Method of readying a card shuffler
US9713761B2 (en) 2011-07-29 2017-07-25 Bally Gaming, Inc. Method for shuffling and dealing cards
US9731190B2 (en) 2011-07-29 2017-08-15 Bally Gaming, Inc. Method and apparatus for shuffling and handling cards
US9764221B2 (en) 2006-05-31 2017-09-19 Bally Gaming, Inc. Card-feeding device for a card-handling device including a pivotable arm
US9802114B2 (en) 2010-10-14 2017-10-31 Shuffle Master Gmbh & Co Kg Card handling systems, devices for use in card handling systems and related methods
US9849368B2 (en) 2012-07-27 2017-12-26 Bally Gaming, Inc. Batch card shuffling apparatuses including multi card storage compartments
US9993719B2 (en) 2015-12-04 2018-06-12 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
US10022617B2 (en) 2001-09-28 2018-07-17 Bally Gaming, Inc. Shuffler and method of shuffling cards
US10279245B2 (en) 2014-04-11 2019-05-07 Bally Gaming, Inc. Method and apparatus for handling cards
US20190182477A1 (en) * 2017-12-11 2019-06-13 Verint Systems, Ltd. Camera certification for video surveillance systems
US10339765B2 (en) 2016-09-26 2019-07-02 Shuffle Master Gmbh & Co Kg Devices, systems, and related methods for real-time monitoring and display of related data for casino gaming devices
AU2017239609B2 (en) * 2015-08-28 2019-07-18 Accenture Global Services Limited Generating interactively mapped data visualizations
US10357706B2 (en) 2002-05-20 2019-07-23 Bally Gaming, Inc. Four-card poker with variable wager over a network
US10456659B2 (en) 2000-04-12 2019-10-29 Shuffle Master Gmbh & Co Kg Card handling devices and systems
US10491711B2 (en) * 2015-09-10 2019-11-26 EEVO, Inc. Adaptive streaming of virtual reality data
US10532272B2 (en) 2001-09-28 2020-01-14 Bally Gaming, Inc. Flush mounted card shuffler that elevates cards
US10933300B2 (en) 2016-09-26 2021-03-02 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
US11173383B2 (en) 2019-10-07 2021-11-16 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components
CN114356566A (en) * 2021-12-30 2022-04-15 许磊 Game data streaming media method based on correlation
US11338194B2 (en) 2018-09-28 2022-05-24 Sg Gaming, Inc. Automatic card shufflers and related methods of automatic jam recovery
US11376489B2 (en) 2018-09-14 2022-07-05 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components
US11628361B2 (en) 2013-09-27 2023-04-18 Gree, Inc. Computer control method, control program and computer
US11898837B2 (en) 2019-09-10 2024-02-13 Shuffle Master Gmbh & Co Kg Card-handling devices with defect detection and related methods
US11896891B2 (en) 2018-09-14 2024-02-13 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components

Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4788637A (en) * 1985-09-30 1988-11-29 Kabushiki Kaisha Toshiba Communication control apparatus
US5019963A (en) * 1987-04-02 1991-05-28 International Business Machines Corporation Data processing network with upgrading of files
US5305389A (en) * 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
US5740549A (en) * 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
US5752042A (en) * 1996-06-07 1998-05-12 International Business Machines Corporation Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
US5764992A (en) * 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement
US5771354A (en) * 1993-11-04 1998-06-23 Crawford; Christopher M. Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services
US5802292A (en) * 1995-04-28 1998-09-01 Digital Equipment Corporation Method for predictive prefetching of information over a communications network
US6016520A (en) * 1995-07-14 2000-01-18 Microsoft Corporation Method of viewing at a client viewing station a multiple media title stored at a server and containing a plurality of topics utilizing anticipatory caching
US6023726A (en) * 1998-01-20 2000-02-08 Netscape Communications Corporation User configurable prefetch control system for enabling client to prefetch documents from a network server
US6493871B1 (en) * 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
US6604103B1 (en) * 1994-09-02 2003-08-05 Mark A. Wolfe System and method for information retrieval employing a preloading procedure
US6615267B1 (en) * 1997-03-13 2003-09-02 Motorola, Inc. System and method for delivery of information over narrow-band communications links
US20030220984A1 (en) * 2001-12-12 2003-11-27 Jones Paul David Method and system for preloading resources
US6699127B1 (en) * 2000-06-20 2004-03-02 Nintendo Of America Inc. Real-time replay system for video game
US20040053690A1 (en) * 2000-12-26 2004-03-18 Fogel David B. Video game characters having evolving traits
US6766422B2 (en) * 2001-09-27 2004-07-20 Siemens Information And Communication Networks, Inc. Method and system for web caching based on predictive usage
US20040180721A1 (en) * 2000-12-21 2004-09-16 Igt Gaming terminal data repository and information distribution system
US20050064926A1 (en) * 2001-06-21 2005-03-24 Walker Jay S. Methods and systems for replaying a player's experience in a casino environment
US20050119052A1 (en) * 2003-09-15 2005-06-02 Russell Glen K. Player specific network
US7169050B1 (en) * 2002-08-28 2007-01-30 Matthew George Tyler Online gaming cheating prevention system and method
US7197570B2 (en) * 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US7465231B2 (en) * 2004-05-20 2008-12-16 Gametap Llc Systems and methods for delivering content over a network
US7558822B2 (en) * 2004-06-30 2009-07-07 Google Inc. Accelerating user interfaces by predicting user actions
US7930693B2 (en) * 2005-04-04 2011-04-19 Cisco Technology, Inc. Method and system for accessing and launching a java based applet as a locally installed application

Patent Citations (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4788637A (en) * 1985-09-30 1988-11-29 Kabushiki Kaisha Toshiba Communication control apparatus
US5019963A (en) * 1987-04-02 1991-05-28 International Business Machines Corporation Data processing network with upgrading of files
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5305389A (en) * 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system
US5771354A (en) * 1993-11-04 1998-06-23 Crawford; Christopher M. Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services
US5901228A (en) * 1993-11-04 1999-05-04 Crawford; Christopher M. Commercial online backup service that provides transparent extended storage to remote customers over telecommunications links
US6604103B1 (en) * 1994-09-02 2003-08-05 Mark A. Wolfe System and method for information retrieval employing a preloading procedure
US5802292A (en) * 1995-04-28 1998-09-01 Digital Equipment Corporation Method for predictive prefetching of information over a communications network
US5764992A (en) * 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement
US5740549A (en) * 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
US6016520A (en) * 1995-07-14 2000-01-18 Microsoft Corporation Method of viewing at a client viewing station a multiple media title stored at a server and containing a plurality of topics utilizing anticipatory caching
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
US5752042A (en) * 1996-06-07 1998-05-12 International Business Machines Corporation Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
US6615267B1 (en) * 1997-03-13 2003-09-02 Motorola, Inc. System and method for delivery of information over narrow-band communications links
US6023726A (en) * 1998-01-20 2000-02-08 Netscape Communications Corporation User configurable prefetch control system for enabling client to prefetch documents from a network server
US7197570B2 (en) * 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US6493871B1 (en) * 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
US6699127B1 (en) * 2000-06-20 2004-03-02 Nintendo Of America Inc. Real-time replay system for video game
US20040180721A1 (en) * 2000-12-21 2004-09-16 Igt Gaming terminal data repository and information distribution system
US20040053690A1 (en) * 2000-12-26 2004-03-18 Fogel David B. Video game characters having evolving traits
US20050064926A1 (en) * 2001-06-21 2005-03-24 Walker Jay S. Methods and systems for replaying a player's experience in a casino environment
US6766422B2 (en) * 2001-09-27 2004-07-20 Siemens Information And Communication Networks, Inc. Method and system for web caching based on predictive usage
US7895261B2 (en) * 2001-12-12 2011-02-22 Valve Corporation Method and system for preloading resources
US20030220984A1 (en) * 2001-12-12 2003-11-27 Jones Paul David Method and system for preloading resources
US7169050B1 (en) * 2002-08-28 2007-01-30 Matthew George Tyler Online gaming cheating prevention system and method
US20050119052A1 (en) * 2003-09-15 2005-06-02 Russell Glen K. Player specific network
US7465231B2 (en) * 2004-05-20 2008-12-16 Gametap Llc Systems and methods for delivering content over a network
US7558822B2 (en) * 2004-06-30 2009-07-07 Google Inc. Accelerating user interfaces by predicting user actions
US7930693B2 (en) * 2005-04-04 2011-04-19 Cisco Technology, Inc. Method and system for accessing and launching a java based applet as a locally installed application

Cited By (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9266011B2 (en) 1997-03-13 2016-02-23 Bally Gaming, Inc. Card-handling devices and methods of using such devices
US9861881B2 (en) 1998-04-15 2018-01-09 Bally Gaming, Inc. Card handling apparatuses and methods for handling cards
US9266012B2 (en) 1998-04-15 2016-02-23 Bally Gaming, Inc. Methods of randomizing cards
US9561426B2 (en) 1998-04-15 2017-02-07 Bally Gaming, Inc. Card-handling devices
US9370710B2 (en) 1998-04-15 2016-06-21 Bally Gaming, Inc. Methods for shuffling cards and rack assemblies for use in automatic card shufflers
US10456659B2 (en) 2000-04-12 2019-10-29 Shuffle Master Gmbh & Co Kg Card handling devices and systems
US10343054B2 (en) 2001-09-28 2019-07-09 Bally Gaming, Inc. Systems including automatic card handling apparatuses and related methods
US10086260B2 (en) 2001-09-28 2018-10-02 Bally Gaming, Inc. Method and apparatus for using upstream communication in a card shuffler
US10569159B2 (en) 2001-09-28 2020-02-25 Bally Gaming, Inc. Card shufflers and gaming tables having shufflers
US10549177B2 (en) 2001-09-28 2020-02-04 Bally Gaming, Inc. Card handling devices comprising angled support surfaces
US9452346B2 (en) 2001-09-28 2016-09-27 Bally Gaming, Inc. Method and apparatus for using upstream communication in a card shuffler
US10532272B2 (en) 2001-09-28 2020-01-14 Bally Gaming, Inc. Flush mounted card shuffler that elevates cards
US10226687B2 (en) 2001-09-28 2019-03-12 Bally Gaming, Inc. Method and apparatus for using upstream communication in a card shuffler
US10004976B2 (en) 2001-09-28 2018-06-26 Bally Gaming, Inc. Card handling devices and related methods
US9345951B2 (en) 2001-09-28 2016-05-24 Bally Gaming, Inc. Methods and apparatuses for an automatic card handling device and communication networks including same
US9220972B2 (en) 2001-09-28 2015-12-29 Bally Gaming, Inc. Multiple mode card shuffler and card reading device
US10022617B2 (en) 2001-09-28 2018-07-17 Bally Gaming, Inc. Shuffler and method of shuffling cards
US10092821B2 (en) 2002-02-08 2018-10-09 Bally Technology, Inc. Card-handling device and method of operation
US9700785B2 (en) 2002-02-08 2017-07-11 Bally Gaming, Inc. Card-handling device and method of operation
US9333415B2 (en) 2002-02-08 2016-05-10 Bally Gaming, Inc. Methods for handling playing cards with a card handling device
US10357706B2 (en) 2002-05-20 2019-07-23 Bally Gaming, Inc. Four-card poker with variable wager over a network
US9126102B2 (en) 2002-05-20 2015-09-08 Bally Gaming, Inc. Four-card poker game with variable wager
US9183705B2 (en) 2004-09-10 2015-11-10 Bally Gaming, Inc. Methods of playing wagering games
US10339766B2 (en) 2004-09-10 2019-07-02 Bally Gaming, Inc. Methods of playing wagering games and related systems
US9898896B2 (en) 2004-09-10 2018-02-20 Bally Gaming, Inc. Methods of playing wagering games and related systems
US9616324B2 (en) 2004-09-14 2017-04-11 Bally Gaming, Inc. Shuffling devices including one or more sensors for detecting operational parameters and related methods
US10576363B2 (en) 2005-06-13 2020-03-03 Bally Gaming, Inc. Card shuffling apparatus and card handling device
US9908034B2 (en) 2005-06-13 2018-03-06 Bally Gaming, Inc. Card shuffling apparatus and card handling device
US9387390B2 (en) 2005-06-13 2016-07-12 Bally Gaming, Inc. Card shuffling apparatus and card handling device
US9129487B2 (en) 2005-06-17 2015-09-08 Bally Gaming, Inc. Variant of texas hold 'em poker
US9345952B2 (en) 2006-03-24 2016-05-24 Shuffle Master Gmbh & Co Kg Card handling apparatus
US9789385B2 (en) 2006-03-24 2017-10-17 Shuffle Master Gmbh & Co Kg Card handling apparatus
US10220297B2 (en) 2006-03-24 2019-03-05 Shuffle Master Gmbh & Co Kg Card handling apparatus and associated methods
US9764221B2 (en) 2006-05-31 2017-09-19 Bally Gaming, Inc. Card-feeding device for a card-handling device including a pivotable arm
US10525329B2 (en) 2006-05-31 2020-01-07 Bally Gaming, Inc. Methods of feeding cards
US9901810B2 (en) 2006-05-31 2018-02-27 Bally Gaming, Inc. Playing card shuffling devices and related methods
US10926164B2 (en) 2006-05-31 2021-02-23 Sg Gaming, Inc. Playing card handling devices and related methods
US9220971B2 (en) 2006-05-31 2015-12-29 Bally Gaming, Inc. Automatic system and methods for accurate card handling
US9623317B2 (en) 2006-07-05 2017-04-18 Bally Gaming, Inc. Method of readying a card shuffler
US10226686B2 (en) 2006-07-05 2019-03-12 Bally Gaming, Inc. Automatic card shuffler with pivotal card weight and divider gate
US10639542B2 (en) 2006-07-05 2020-05-05 Sg Gaming, Inc. Ergonomic card-shuffling devices
US9320964B2 (en) 2006-11-10 2016-04-26 Bally Gaming, Inc. System for billing usage of a card handling device
US8919775B2 (en) 2006-11-10 2014-12-30 Bally Gaming, Inc. System for billing usage of an automatic card handling device
US10286291B2 (en) 2006-11-10 2019-05-14 Bally Gaming, Inc. Remotely serviceable card-handling devices and related systems and methods
US9259640B2 (en) 2007-06-06 2016-02-16 Bally Gaming, Inc. Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature
US9922502B2 (en) 2007-06-06 2018-03-20 Balley Gaming, Inc. Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature
US10410475B2 (en) 2007-06-06 2019-09-10 Bally Gaming, Inc. Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature
US10504337B2 (en) 2007-06-06 2019-12-10 Bally Gaming, Inc. Casino card handling system with game play feed
US9339723B2 (en) 2007-06-06 2016-05-17 Bally Gaming, Inc. Casino card handling system with game play feed to mobile device
US9633523B2 (en) 2007-06-06 2017-04-25 Bally Gaming, Inc. Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature
US9659461B2 (en) 2007-06-06 2017-05-23 Bally Gaming, Inc. Casino card handling system with game play feed to mobile device
US10008076B2 (en) 2007-06-06 2018-06-26 Bally Gaming, Inc. Casino card handling system with game play feed
US8986091B2 (en) 2007-06-06 2015-03-24 Bally Gaming, Inc. Casino card handling with game play feed
US9233298B2 (en) 2009-04-07 2016-01-12 Bally Gaming, Inc. Playing card shuffler
US9539494B2 (en) 2009-04-07 2017-01-10 Bally Gaming, Inc. Card shuffling apparatuses and related methods
US9744436B2 (en) 2009-04-07 2017-08-29 Bally Gaming, Inc. Playing card shuffler
US10166461B2 (en) 2009-04-07 2019-01-01 Bally Gaming, Inc. Card shuffling apparatuses and related methods
US10137359B2 (en) 2009-04-07 2018-11-27 Bally Gaming, Inc. Playing card shufflers and related methods
US10814212B2 (en) 2010-10-14 2020-10-27 Shuffle Master Gmbh & Co Kg Shoe devices and card handling systems
US10722779B2 (en) 2010-10-14 2020-07-28 Shuffle Master Gmbh & Co Kg Methods of operating card handling devices of card handling systems
US10583349B2 (en) 2010-10-14 2020-03-10 Shuffle Master Gmbh & Co Kg Card handling systems, devices for use in card handling systems and related methods
US9802114B2 (en) 2010-10-14 2017-10-31 Shuffle Master Gmbh & Co Kg Card handling systems, devices for use in card handling systems and related methods
US9731190B2 (en) 2011-07-29 2017-08-15 Bally Gaming, Inc. Method and apparatus for shuffling and handling cards
US10933301B2 (en) 2011-07-29 2021-03-02 Sg Gaming, Inc. Method for shuffling and dealing cards
US9713761B2 (en) 2011-07-29 2017-07-25 Bally Gaming, Inc. Method for shuffling and dealing cards
US10668362B2 (en) 2011-07-29 2020-06-02 Sg Gaming, Inc. Method for shuffling and dealing cards
US9236024B2 (en) 2011-12-06 2016-01-12 Glasses.Com Inc. Systems and methods for obtaining a pupillary distance measurement using a mobile computing device
US9166882B1 (en) * 2011-12-13 2015-10-20 Amazon Technologies, Inc. Remote browsing session management
US20160044115A1 (en) * 2011-12-13 2016-02-11 Amazon Technologies, Inc. Remote browsing session management
US9120007B2 (en) 2012-01-18 2015-09-01 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US9792770B2 (en) 2012-01-18 2017-10-17 Bally Gaming, Inc. Play for fun network gaming system and method
US8974305B2 (en) 2012-01-18 2015-03-10 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US10403091B2 (en) 2012-01-18 2019-09-03 Bally Gaming, Inc. Play for fun network gaming system and method
US9165428B2 (en) 2012-04-15 2015-10-20 Bally Gaming, Inc. Interactive financial transactions
US9530278B2 (en) 2012-04-15 2016-12-27 Bally Gaming, Inc. Interactive financial transactions
US9087430B2 (en) 2012-04-20 2015-07-21 Milo Borissov Architecture for server-based casino gaming machine system
US9569919B2 (en) 2012-04-20 2017-02-14 Milo Borissov Architecture for server-based casino gaming machine system
US9378584B2 (en) 2012-05-23 2016-06-28 Glasses.Com Inc. Systems and methods for rendering virtual try-on products
US9483853B2 (en) 2012-05-23 2016-11-01 Glasses.Com Inc. Systems and methods to display rendered images
US10147233B2 (en) 2012-05-23 2018-12-04 Glasses.Com Inc. Systems and methods for generating a 3-D model of a user for a virtual try-on product
US9208608B2 (en) 2012-05-23 2015-12-08 Glasses.Com, Inc. Systems and methods for feature tracking
US9235929B2 (en) 2012-05-23 2016-01-12 Glasses.Com Inc. Systems and methods for efficiently processing virtual 3-D data
US9286715B2 (en) 2012-05-23 2016-03-15 Glasses.Com Inc. Systems and methods for adjusting a virtual try-on
US9311746B2 (en) 2012-05-23 2016-04-12 Glasses.Com Inc. Systems and methods for generating a 3-D model of a virtual try-on product
US10124241B2 (en) 2012-07-27 2018-11-13 Bally Gaming, Inc. Batch card shuffling apparatuses including multi card storage compartments, and related methods
US10668361B2 (en) 2012-07-27 2020-06-02 Sg Gaming, Inc. Batch card shuffling apparatuses including multi-card storage compartments, and related methods
US10668364B2 (en) 2012-07-27 2020-06-02 Sg Gaming, Inc. Automatic card shufflers and related methods
US9861880B2 (en) 2012-07-27 2018-01-09 Bally Gaming, Inc. Card-handling methods with simultaneous removal
US9849368B2 (en) 2012-07-27 2017-12-26 Bally Gaming, Inc. Batch card shuffling apparatuses including multi card storage compartments
US9378766B2 (en) 2012-09-28 2016-06-28 Bally Gaming, Inc. Card recognition system, card handling device, and method for tuning a card handling device
US9511274B2 (en) 2012-09-28 2016-12-06 Bally Gaming Inc. Methods for automatically generating a card deck library and master images for a deck of cards, and a related card processing apparatus
US10403324B2 (en) 2012-09-28 2019-09-03 Bally Gaming, Inc. Card recognition system, card handling device, and method for tuning a card handling device
US9679603B2 (en) 2012-09-28 2017-06-13 Bally Gaming, Inc. Card recognition system, card handling device, and method for tuning a card handling device
US10398966B2 (en) 2012-09-28 2019-09-03 Bally Gaming, Inc. Methods for automatically generating a card deck library and master images for a deck of cards, and a related card processing apparatus
US20140157144A1 (en) * 2012-12-04 2014-06-05 DeNA Co., Ltd. Network system
US20140235313A1 (en) * 2013-02-19 2014-08-21 Gtech Corporation Lottery Game Market with Developer Network
US11628361B2 (en) 2013-09-27 2023-04-18 Gree, Inc. Computer control method, control program and computer
US10279245B2 (en) 2014-04-11 2019-05-07 Bally Gaming, Inc. Method and apparatus for handling cards
US20150314196A1 (en) * 2014-05-01 2015-11-05 MPH, Inc. Deployment of an electronic game using device profiles
US10092819B2 (en) 2014-05-15 2018-10-09 Bally Gaming, Inc. Playing card handling devices, systems, and methods for verifying sets of cards
US9474957B2 (en) 2014-05-15 2016-10-25 Bally Gaming, Inc. Playing card handling devices, systems, and methods for verifying sets of cards
US10864431B2 (en) 2014-08-01 2020-12-15 Sg Gaming, Inc. Methods of making and using hand-forming card shufflers
US9566501B2 (en) 2014-08-01 2017-02-14 Bally Gaming, Inc. Hand-forming card shuffling apparatuses including multi-card storage compartments, and related methods
USD764599S1 (en) 2014-08-01 2016-08-23 Bally Gaming, Inc. Card shuffler device
US10238954B2 (en) 2014-08-01 2019-03-26 Bally Gaming, Inc. Hand-forming card shuffling apparatuses including multi-card storage compartments, and related methods
US10154072B2 (en) * 2014-09-17 2018-12-11 Microsoft Technology Licensing, Llc Intelligent streaming of media content
US20160080442A1 (en) * 2014-09-17 2016-03-17 Microsoft Corporation Intelligent streaming of media content
US10486055B2 (en) 2014-09-19 2019-11-26 Bally Gaming, Inc. Card handling devices and methods of randomizing playing cards
US11358051B2 (en) 2014-09-19 2022-06-14 Sg Gaming, Inc. Card handling devices and associated methods
US10857448B2 (en) 2014-09-19 2020-12-08 Sg Gaming, Inc. Card handling devices and associated methods
US9504905B2 (en) 2014-09-19 2016-11-29 Bally Gaming, Inc. Card shuffling device and calibration method
AU2017239609B2 (en) * 2015-08-28 2019-07-18 Accenture Global Services Limited Generating interactively mapped data visualizations
US10491711B2 (en) * 2015-09-10 2019-11-26 EEVO, Inc. Adaptive streaming of virtual reality data
US9993719B2 (en) 2015-12-04 2018-06-12 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
US10668363B2 (en) 2015-12-04 2020-06-02 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
US10632363B2 (en) 2015-12-04 2020-04-28 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
US9473758B1 (en) * 2015-12-06 2016-10-18 Sliver VR Technologies, Inc. Methods and systems for game video recording and virtual reality replay
US10885748B2 (en) 2016-09-26 2021-01-05 Shuffle Master Gmbh & Co Kg Devices, systems, and related methods for real time monitoring and display of related data for casino gaming devices
US10933300B2 (en) 2016-09-26 2021-03-02 Shuffle Master Gmbh & Co Kg Card handling devices and related assemblies and components
US10339765B2 (en) 2016-09-26 2019-07-02 Shuffle Master Gmbh & Co Kg Devices, systems, and related methods for real-time monitoring and display of related data for casino gaming devices
US11577151B2 (en) 2016-09-26 2023-02-14 Shuffle Master Gmbh & Co Kg Methods for operating card handling devices and detecting card feed errors
US11462079B2 (en) 2016-09-26 2022-10-04 Shuffle Master Gmbh & Co Kg Devices, systems, and related methods for real-time monitoring and display of related data for casino gaming devices
US20190182477A1 (en) * 2017-12-11 2019-06-13 Verint Systems, Ltd. Camera certification for video surveillance systems
US10757402B2 (en) * 2017-12-11 2020-08-25 Verint Systems Ltd. Camera certification for video surveillance systems
US11376489B2 (en) 2018-09-14 2022-07-05 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components
US11896891B2 (en) 2018-09-14 2024-02-13 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components
US11338194B2 (en) 2018-09-28 2022-05-24 Sg Gaming, Inc. Automatic card shufflers and related methods of automatic jam recovery
US11898837B2 (en) 2019-09-10 2024-02-13 Shuffle Master Gmbh & Co Kg Card-handling devices with defect detection and related methods
US11173383B2 (en) 2019-10-07 2021-11-16 Sg Gaming, Inc. Card-handling devices and related methods, assemblies, and components
CN114356566A (en) * 2021-12-30 2022-04-15 许磊 Game data streaming media method based on correlation
WO2023125875A1 (en) * 2021-12-30 2023-07-06 Lei Xu Correlation-based streaming method for game data

Similar Documents

Publication Publication Date Title
US20120021835A1 (en) Systems and methods for server based video gaming
JP7216223B2 (en) AI Modeling for Video Game Coaching and Matchmaking
US7465231B2 (en) Systems and methods for delivering content over a network
US20100035689A1 (en) System and method for a gaming community
US9630104B2 (en) Systems, methods, and apparatus for transmitting virtual world content from a server system to a client
US20210297726A1 (en) Determination of Enhanced Viewing Experiences Based on Viewer Engagement
US20060136964A1 (en) Systems and methods for delivering content over a network
US11148063B2 (en) Systems and methods for providing a crowd advantage to one or more players in the course of a multi-player video game play session
US20090077475A1 (en) System for providing virtual spaces with separate places and/or acoustic areas
US20020002074A1 (en) Method for an online player game payment system
US11679328B2 (en) Recommending game streams for spectating based on recognized or predicted gaming activity
US11571628B2 (en) Modifying game content to reduce abuser actions toward other users
US11090566B1 (en) Method for determining player behavior
US11420123B2 (en) Helper mode in spectated video games
US20230330523A1 (en) Recommending game streams for spectating based on recognized or predicted gaming activity
Trinta et al. Evaluating a middleware for crossmedia games
Tandey The design and development of backend system for a game application
WO2022146719A1 (en) Helper mode in spectated video games
JP2022134539A (en) Game system, server device, and program
Hsu Business model developments for the pc-based massively multiplayer online game (MMOG) industry
CN116685381A (en) Recommending game streams for viewing based on identified or predicted game activities
Bondarenko The influence of latency on short-and long-range player interactions in a virtual environment
Sengupta CERTIFICATION OF APPROVAL

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

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