US20120021835A1 - Systems and methods for server based video gaming - Google Patents
Systems and methods for server based video gaming Download PDFInfo
- 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
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling 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/533—Controlling 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/335—Interconnection 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/40—Features 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/407—Data transfer via internet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features 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/55—Details of game data or player data management
- A63F2300/552—Details 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
- 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.
- 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.
- 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.”
- 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 ofFIG. 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 ofFIG. 1 ; -
FIG. 4 is a diagram illustrating an example embodiment of a game authority that can be included in the system ofFIG. 1 and configured to implement the method ofFIG. 3 ; -
FIG. 5 is a diagram illustrating an example embodiment of a client device that can be included in the system ofFIG. 1 and configured to implement the method ofFIG. 2 ; -
FIG. 6 is a flow chart illustrating an example method for providing skill level rankings to game players within the system ofFIG. 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 ofFIG. 6 . -
FIG. 1 is a diagram illustrating a server basedvideo gaming environment 100 in accordance with one embodiment of the systems and methods described herein.System 100 comprises one ormore game authorities 108 interfaced with a plurality of client devices, of whichclient devices Server authorities 108 host a plurality of videogames that can be accessed by users usingclient 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 illustratedseveral game authorities 108 can be included insystem 100 depending on the embodiment. Multi-authority embodiments are described in more detail below. Eachgame 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), betweengame authorities 108 andclient devices 104 and 106 (links 112 and 116), and between client devices, e.g., betweendevices 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 viatemporary 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 inFIG. 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 ongame authorities 108 to users via game browses running on the user's client devices. In one embodiment, the game servers running ongame authorities 108 and the game browsers running onclient devices 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 forsystem 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 agame 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 agame 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 associatedgame 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 agame 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 ofFIG. 2 assumes that the user has already accessed a game server running on asingle game authority 108. Instep 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. Instep 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 instep 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 instep 214 and the requisite resources downloaded instep 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. Instep 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 instep 304 as described above. Instep 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. Instep 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 instep 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 instep 314, whether it is a multiplayer environment, and update the other players instep 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 instep 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 inFIG. 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 asystem 100 as configured in accordance with the systems and methods described herein. First, as illustrated,system 100 can comprise client-server communication links game authority 108.Links - Second,
system 100 can comprise client-client links 110. These links can allow for direct communication between client device, e.g.,client devices game authority 108; however, in many instances there is no need to burdengame 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 anexemplary game server 400 configured to run on agame authority 108 in accordance with one embodiment of the systems and methods described herein. As illustrated,game server 400 comprisescommunication processor 402 andgame play engine 404, and is interfaced withdata repository 408. -
Communication processor 402 can be configured to process communication traffic betweengame server 400 and other game servers as well as betweengame 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 thegame play engine 404. -
Game play engine 404 can be configured to processgame scripts 406 associated with various games loaded onto the associatedgame authority 108. The games, orgame 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., thedata 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 allgame 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 theresources 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 indata 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 indata 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 onmultiple game servers 400 to have some commonality. One game can be onmany servers 400, or oneserver 400 can have many games. For example, tenservers 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 agame browser 500 configured in accordance with one embodiment of the systems and methods described herein. As can be seen,game browser 500 comprisescommunication processor 502,game processor 506,sound processor 508,graphics engine 510, and is interfaced withdata 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 todata repository 504, while more immediate information can be sent togame processor 506. Advance requests can, for example, be data thatgame 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. Whilecommunication processor 506 can be running in the background, e.g., feedingdata repository 504,game processor 506 can be running in the foreground controllinggraphics engine 510,sound processor 508, and of course interpreting the player's responses.Game processor 506 can be configured to use data stored indata repository 504, make its own entries in thedata repository 504 for future reference, and sends back reports and requests tocommunications 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 instructgraphics processor 510 as to which models, textures, and positions to use, butgraphics 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 withinsystem 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. Multi-Track Games
- Because a
game authority 108 stores theresources 410 andscripts 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 ongame 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 ofFIG. 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, agame 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. Instep 604, a test simulation can be presented to the user. This can comprisegame 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., indata repository 408. Instep 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 instep 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 agame 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.
- 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, agame 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 fromgame server 400 to agame 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 insystem 100 are simply uploaded to agame 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 ongame 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 intogame 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.
- 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.
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)
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)
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 |
-
2011
- 2011-01-13 US US13/006,387 patent/US20120021835A1/en not_active Abandoned
Patent Citations (29)
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)
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 |