U.S. Pat. No. 8,734,162
Server and Application for Interactive Gameplay
AssigneeIndividual
Issue DateApril 4, 2012
Illustrative Figure
Abstract
An interactive game and gaming system are presented. In some aspects, information is derived from a database and a select subset of it is used to generate both questions and potential answers to the questions. A player is presented with the potential answers and selects an answer, which is evaluated by the system to determine its correctness. Commercial advantages of interacting with players in this way and collecting information about the players and promoting things to the players are described.
Description
DETAILED DESCRIPTION FIG. 1illustrates an exemplary system10or group of components in data communication with certain ones of the group and which collectively can be used in generating queries or questions for a player. A document source or a service100provides or generates data used in the gameplay. For example, document source or service100may be a service that provides a subscription based source of data that can be used to generate questions and answers. The data or information obtained from the document source or service100is stored in a database110. The database may be co-located with the document source or service100, or it may be remotely located over a network, or it may be co-located in a storage device in a Web server, application server, or other server that can communicate with a player's client device. A player client device may be a conventional client machine such as a personal computer. The player client device may also be a conventional mobile communication device, mobile computing device, smartphone or similar appliance. The components of system10may be implemented in hardware, software, firmware, or combinations of the foregoing. For example, computer-readable media in the system may include computer-readable instructions stored in a data storage apparatus or memory. The instructions can be parsed and executed on a processor circuit as known by those skilled in the art. A feature extractor component120is programmed for and adapted and arranged to extract a certain type of feature from the database110or the information therein. For example, the feature extractor120may pull up and selectively provide certain aspects or subsets of information from that available in database110. As an example by way of illustration, the feature extractor120may be programmed to pull out the words in a file, the images in a file, or other selected information. The selected extracted information or extracted feature ...
DETAILED DESCRIPTION
FIG. 1illustrates an exemplary system10or group of components in data communication with certain ones of the group and which collectively can be used in generating queries or questions for a player. A document source or a service100provides or generates data used in the gameplay. For example, document source or service100may be a service that provides a subscription based source of data that can be used to generate questions and answers. The data or information obtained from the document source or service100is stored in a database110. The database may be co-located with the document source or service100, or it may be remotely located over a network, or it may be co-located in a storage device in a Web server, application server, or other server that can communicate with a player's client device.
A player client device may be a conventional client machine such as a personal computer. The player client device may also be a conventional mobile communication device, mobile computing device, smartphone or similar appliance. The components of system10may be implemented in hardware, software, firmware, or combinations of the foregoing. For example, computer-readable media in the system may include computer-readable instructions stored in a data storage apparatus or memory. The instructions can be parsed and executed on a processor circuit as known by those skilled in the art.
A feature extractor component120is programmed for and adapted and arranged to extract a certain type of feature from the database110or the information therein. For example, the feature extractor120may pull up and selectively provide certain aspects or subsets of information from that available in database110. As an example by way of illustration, the feature extractor120may be programmed to pull out the words in a file, the images in a file, or other selected information.
The selected extracted information or extracted feature of the data taken from the database110may be scrambled or randomized by way of scrambler component130. The scrambler can enhance the gameplay and control its level of difficulty. The scrambler can act to randomize queries (questions) to the player and/or randomize possible responses (answers) to the queries so that even the same subset of data can be presented in different formats from time to time. In one embodiment, the scrambler130may scramble the question or query order. In another embodiment, the scrambler130may scramble the set of possible answers and the order in which they appear to the player.
In some embodiments, a frequency generator140generates metrics corresponding to the frequency with which certain information appears in the database110. Information that occurs more often in the database or source document may be given a greater weight or given a more pronounced appearance to the user.
A server in system10will serve up the queries to the player and collect the player's answers. The queries may be determined by the player's profile if the player is known to the system10as will be discussed below.
FIG. 2illustrates a system20for interactive gameplay. One or more gaming servers200are provided to interact with other components of the system, to process information from data repositories or databases210. In addition, servers200may write information into centralized or remote storage locations or databases210. Some examples of information220that is contained in database210includes user preference or profiles or other information about users of the game.
One or more client machines230are coupled to the servers200by way of a communication channel. The communication channel may include wireless connections or wired connections to carry data signals between the server and the clients. A player250interacts with the game by way of his or her client machine230and software running on the client machine. The client machine itself230may be a personal computer or mobile processing apparatus with a communication module or capability. Software running on the client machine230is programmed to present queries240to the player250. Some embodiments rely on browser software running on client230. Other embodiments include apps that run on the mobile device of the user and derive functionality and data from an app server.
Various business methods and techniques for administering and operating the system20are possible. They include direct sale of game applications and data. They also include subscription based access to the gaming system20. They also include revenue generation by way of advertising presented to the player community260. In other embodiments, they also include revenue from wireless (or wired) communication providers who charge users for the use of the airwaves and communication channels discussed earlier.
FIG. 3illustrates various steps and elements of a method30running in a system for interactive gaming as discussed previously. The method starts at step300(Start). This can indicate the starting point in the logic flow for an operational software program executing in one or more circuits or processors and which are encoded into a digital memory device or similar instruction storage medium, sometimes referred to as a computer-readable or machine-readable medium.
Early in the operation of the method, some baseline data is obtained at step302from a database or similar repository. The baseline data may include information about academic, scientific, political, cultural, entertainment, personal, financial, sports, trivia, film, celebrity, or other information of interest to players of the interactive game.
An extractor module or unit or device or software component extracts selected data from the baseline data at step304. For example, if the baseline data contains several types of information about a subject, the extraction step may chose a certain one or more types of information about the subject. Depending on the settings of the program and the preferences of a user, the extraction may select information that is selected because it is of use or interest to its user, the player. In an embodiment, player profile data or information is obtained at step308, from a database of player profiles. The player profiles may be dynamic and updated as the player's interaction with the game and the gaming system progresses and becomes more known.
At step306the system presents the extracted and selected data to a player in the form of a query formulated by the gaming server and based on the extracted selected data. Promotional content such as advertising may be presented at steps310to the player on the player's client machine interface at any time during the gameplay. Promotions and advertising content may be presented to the player at optional steps314and326and330as well, if desired, or throughout the game or at key points during the game.
Once the player is presented with a query or question at step306, the system accepts the player's selection (guess) at step312where the player chooses from among a plurality of available or possible presented answers or responses. In some embodiments, only one response is correct to answer the posed query. In other embodiments, more than one correct answer exists, and the player will be graded on some criterion or criteria for playing the game. The player chooses his or her answer and submits the choice to the system for evaluation. A hint may be given to players who are unsure of their answers at step318.
The system evaluates the player's choice of response to the posed query or question. At step320the system presents a verdict or comment to the player on his or her answer or selection. The verdict or comment may include an indication of whether the player's answer was correct to the question or query posed. Trivia or facts relating to the subject matter of a game segment may be provided at step322.
Once the player has concluded playing a segment or portion of the interactive game the system may invite the player to play another round or another game or to play again at step324. Links or buttons may be presented to the player in a graphical user interface to accept the player's acceptance to play again or the player's refusal to play again.
If the player does not wish to continue playing another round, the system may present the player with his or her ranking, at step328, relative to other players in the player community. A list of top scores may be summarized on the screen. If the player does choose to play another round, the player is presented with a selected query again.
At the conclusion of play the system may update the player's profile. Again, promotions or invitations to buy or review a product or service may be presented to the player at step330.
The game or process ends at332if the player does not require or indicate another round, or if the player affirmatively opts to leave the gaming site.
The present gaming application system and method may be implemented on a computer or processor-based machine such as a server or other network-capable device. Communication may be carried out using conventional packet-based or standards-based messaging. A Web front end including a Web server may be employed to provide interactivity with users of client machines interacting with the Web server. A database of information containing data used for the game (containing educational content, entertainment content, trivia, personal information, news content, user profiles, etc.) is coupled to the Web server or other backend application server coupled to the Web server. An application programming interface (API) may further be provided to supply information used in game play over HTTP or other means. Some logic can further be installed on and executing on the players' client computers or mobile computing devices.
In a specific exemplary and non-limiting embodiment, the system includes a server, such as a Ruby server application with a Web front end and an iOS mobile application. The mobile application interacts with the server using a JSON API over HTTP. The server may be written in Ruby on Rails (e.g., release 3.0.0). The server is deployed over the Heroku cloud platform, or similar platform, for easy deployment and scaling.
The game state is saved in a Web browser cookie. In an embodiment, the game state may be wrapped in an object for easy access and manipulation. The cookie keeps track of the current game state of any given gaming session.
The game state may include the score, a number of lives left, and what select data or information have been used in the current game. In an embodiment, storing the latter prevents a portion of select data already used to be shown again in a single game. Using a client cookie to store this information means that little or no server resources are needed to store game state in some illustrative examples. The result of each question may be recorded in the database, allowing for analysis and providing data for question difficulty. At the conclusion of the game, the score may be saved to the database.
The present system and application may use PostgreSQL to store the select type of data from the baseline data in the database. The system may use smart data objects to pull down the necessary information from various web-based APIs and store it locally. These updates can be run periodically to provide fresh baseline data for the information for the game. For example, to keep abreast of headlines in the news.
An application programming interface (API) provides information needed for a client to play the game in JSON over HTTP. The logic is preferably handled by the client application, but the API provides all needed baseline data information (correct and incorrect answers, sample URL, image URL, and facts). On completion of the game, the client can post the score to the server to determine if it has made the high score list. In addition the API provides a mechanism for posting the results of each question.
The embodiments and description and drawings provided herein are illustrative and allow those skilled in the art to understand the inventions and to incorporate the inventions into systems and methods comprehended by the present disclosure and claims. The present embodiments should therefore not be considered exhaustive or limiting, but other derivative and similar techniques and devices relating hereto should be considered covered by the present scope of invention as well.
Claims
- A method for interactive game play based on user interests, the method being implemented on a computing device having one or more physical processors programmed with computer program instructions, the method comprising: obtaining, by the one or more physical processors, a set of baseline data in one or more documents or files, wherein the set of baseline data includes first baseline data that is related to a particular topic;obtaining, by the one or more physical processors, a pre-stored user profile that indicates an interest by a user in one or more topics;identifying, by the one or more physical processors, the first baseline data from the set of baseline data based on the user profile and the particular topic;formulating, by the one or more physical processors, a trivia question based on the first baseline data such that the trivia question relates to a topic of interest of the user;formulating, by the one or more physical processors, a plurality of potential responses to the trivia question based on the first baseline data;presenting, by the one or more physical processors, the trivia question and the plurality of potential responses to the trivia question to the user;receiving, by the one or more physical processors, a response to the trivia question from the user;and determining, by the one or more physical processors, whether the response to the trivia question matches a criterion for correctness of the response.
- The method of claim 1 , further comprising presenting promotional content to the user during game play.
- The method of claim 1 , further comprising providing an indication of whether the response was correct.
- The method of claim 1 , the method further comprising: randomizing: (i) an order of appearance of the trivia question with respect to at least one other trivia question, or (ii) an order of appearance of the potential responses.
- The method of claim 1 , the method further comprising: determining a frequency of occurrence of first information in the first baseline data relative to other information in the set of baseline data.
- The method of claim 5 , the method further comprising: assigning a first weight to the first information based on the frequency of occurrence.
- The method of claim 6 , the method further comprising: determining an appearance of the first information based on the first weight;and displaying the first information based on the appearance.
- The method of claim 6 , wherein identifying the first baseline data is based further on the first weight.
- The method of claim 1 , the method further comprising: updating the user profile based on game play of the user such that the user is better known for future game play.
- The method of claim 1 , wherein the first baseline data comprises a word or an image that was selected from the set of baseline data to be included in the trivia question and/or responses to the trivia question.
- A system for interactive game play based on user interests, the system comprising: one or more physical processors programmed with computer program instructions to: obtain a set of baseline data in one or more documents or files, wherein the set of baseline data includes first baseline data that is related to a particular topic;obtain a pre-stored user profile that indicates an interest by a user in one or more topics;identify the first baseline data from the set of baseline data based on the user profile and the particular topic;formulate a trivia question based on the first baseline data such that the trivia question relates to a topic of interest of the user;formulate a plurality of potential responses to the trivia question based on the first baseline data;present the trivia question and the plurality of potential responses to the trivia question to the user;receive a response to the trivia question from the user;and determine whether the response to the trivia question matches a criterion for correctness of the response.
- The system of claim 11 , wherein the one or more physical processors are further programmed to: present promotional content to the user during game play.
- The system of claim 11 , wherein the one or more physical processors are further programmed to: provide an indication of whether the response was correct.
- The system of claim 11 , wherein the one or more physical processors are further programmed to: randomize (i) an order of appearance of the trivia question with respect to at least one other trivia question, or (ii) an order of appearance of the potential responses.
- The system of claim 11 , wherein the one or more physical processors are further programmed to: determine a frequency of occurrence of first information in the first baseline data relative to other information in the set of baseline data.
- The system of claim 15 , wherein the one or more physical processors are further programmed to: assign a first weight to the first information based on the frequency of occurrence.
- The system of claim 16 , wherein the one or more physical processors are further programmed to: determine an appearance of the first information based on the first weight;and display the first information based on the appearance.
- The system of claim 16 , wherein the first baseline data is identified based further on the first weight.
- The system of claim 11 , wherein the one or more physical processors are further programmed to: update the user profile based on game play of the user such that the user is better known for future game play.
- The system of claim 1 , wherein the first baseline data comprises a word or an image that was selected from the set of baseline data to be included in the trivia question and/or responses to the trivia question.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.