U.S. Pat. No. 9,517,414

ONLINE GAME CREATION USING DATA SETS

AssigneeIXL LEARNING

Issue DateMay 1, 2014

Illustrative Figure

Abstract

The disclosed embodiments provide a system that facilitates creation of an online game. During operation, the system obtains a data set and a game template for the online game. Next, the system enables a user to select one or more subsets of the data set for use with the game template. Finally, the system creates the online game from the game template and data from the one or more subsets without requiring manual input of the data into the game template by the user.

Description

In the figures, like reference numerals refer to the same figure elements. DETAILED DESCRIPTION The following description is presented to enable any person skilled in the art to make and use the embodiments, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present invention is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein. The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. The computer-readable storage medium includes, but is not limited to, volatile memory, non-volatile memory, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs), DVDs (digital versatile discs or digital video discs), or other media capable of storing code and/or data now known or later developed. The methods and processes described in the detailed description section can be embodied as code and/or data, which can be stored in a computer-readable storage medium as described above. When a computer system reads and executes the code and/or data stored on the computer-readable storage medium, the computer system performs the methods and processes embodied as data structures and code and stored within the computer-readable storage medium. Furthermore, methods and processes described herein can be included in hardware modules or apparatus. These modules or apparatus may include, but are not limited to, an application-specific integrated circuit (ASIC) chip, a ...

In the figures, like reference numerals refer to the same figure elements.

DETAILED DESCRIPTION

The following description is presented to enable any person skilled in the art to make and use the embodiments, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present invention is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.

The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. The computer-readable storage medium includes, but is not limited to, volatile memory, non-volatile memory, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs), DVDs (digital versatile discs or digital video discs), or other media capable of storing code and/or data now known or later developed.

The methods and processes described in the detailed description section can be embodied as code and/or data, which can be stored in a computer-readable storage medium as described above. When a computer system reads and executes the code and/or data stored on the computer-readable storage medium, the computer system performs the methods and processes embodied as data structures and code and stored within the computer-readable storage medium.

Furthermore, methods and processes described herein can be included in hardware modules or apparatus. These modules or apparatus may include, but are not limited to, an application-specific integrated circuit (ASIC) chip, a field-programmable gate array (FPGA), a dedicated or shared processor that executes a particular software module or a piece of code at a particular time, and/or other programmable-logic devices now known or later developed. When the hardware modules or apparatus are activated, they perform the methods and processes included within them.

The disclosed embodiments provide a method and system for facilitating the creation of an online game. As shown inFIG. 1, a set of online games114-116may be provided by an interface112that is accessed by a set of users through a set of electronic devices104-110. For example, interface112may be a graphical user interface (GUI), web-based user interface, touch-based user interface, and/or other type of user interface that is provided by a web browser, mobile application, native application, and/or other application executing on a mobile phone, personal computer, laptop computer, personal digital assistant, tablet computer, portable media player, and/or other type of network-enabled electronic device.

Online games114-116may be provided by an online gaming framework102that is accessed through interface112. For example, online gaming framework102may show a set of available online games114-116in interface112, and the users may select and play online games114-116by interacting with one or more input/output (I/O) devices of electronic devices104-110. During playing of an online game, a user may use a keyboard, mouse, touchpad, touchscreen, game controller, joystick, and/or other input device to provide input through interface112. The online game may process the input and use a display, speakers, and/or other output device to provide output to the user through interface112.

Online gaming framework102may also allow users to create online games114-116. As shown inFIG. 2, online gaming framework102may maintain a set of game templates (e.g., game template1234, game template y236) in a template repository232. Each game template may be used to create a certain type of online game. For example, template repository232may include game templates for matching games that allow users to match related data elements, categorization games that allow users to categorize data elements, ordering games that allow users to order data elements by an attribute or characteristic, and/or identification games that allow users to identify and/or select data elements based on related data elements.

A user may create an online game by selecting a game template for the online game and providing the data to be used with the online game. For example, the user may create a matching game by selecting a game template for the matching game and manually inputting, uploading, or otherwise specifying two sets of data elements to be matched in the matching game. The user may then repeat the data-input process to create other online games, even if the online games utilize some or all of the same data. As a result, the user may expend significant time and effort in collecting, organizing, inputting, and/or updating data for use with individual online games (e.g., online games216).

In one or more embodiments, online gaming framework102facilitates efficient organization, use, and/or reuse of data associated with online games216by enabling the creation and use of online games216with data sets (e.g., data set1228, data set x230). Each data set may include data elements that adhere to an organization and/or format. For example, a data set may include a set of columns and a set of rows, with each column representing an attribute, item, and/or category and each row containing a value for the attribute, item, and/or category.

In addition, the data set may be created by one or more users using a data-editing apparatus202in online gaming framework102. Continuing with the above example, the user(s) may input data elements into the rows and columns of the data set using a spreadsheet-style editor provided by data-editing apparatus202. The editor may allow the user(s) to add and remove columns, add and remove rows, change the value of a data element and/or a column header, rearrange rows and columns, and/or perform other operations related to the rows and columns of the data set. The data elements may include alphanumeric text, non-alphanumeric characters (e.g., special symbols, Unicode scripts, etc.), images, audio, video, and/or other types of data.

After the data set is created, the data set may be saved to a data set repository226for subsequent retrieval and use. The user creating the data set may also modify the data set, save the modifications, and/or delete the data set. Another user may copy the data set as a different version of the data set and/or a new data set, which is also stored in data set repository226and is modifiable by the other user. Two or more users may also collaborate on a data set by creating individual copies of the data set and copying and/or propagating changes in each user's version of the data set to the other users' versions.

Consequently, data-editing apparatus202may facilitate creation, sharing, and update of data in the data sets while protecting the data sets from unauthorized modification. For example, data-editing apparatus202may allow a set of users to create a “family tree” of data sets containing related and/or overlapping data, with data in each data set based on and/or adding to data from an existing data set and/or a previous version of the data set.

Data sets in data set repository226may then be used to create online games216. In particular, a game-editing apparatus204in online gaming framework102may provide the data sets from data set repository226and/or game templates from template repository232to a user and allow the user to select a game template208and/or a data set210for use in creating an online game. For example, game-editing apparatus204may display a first list of game templates to the user and allow the user to select game template208from the first list. Game-editing apparatus204may then display a second list of data sets to the user and allow the user to select data set210from the second list. Alternatively, game-editing apparatus204may obtain a default data set210from data-editing apparatus202(e.g., during creation and/or modification of data set210using data-editing apparatus202) and allow the user to specify game template208for use with the default data set210.

Next, game-editing apparatus204may allow the user to select one or more subsets214of data set210for use with game template208. For example, subsets214may be selected as one or more columns of a “spreadsheet-style” data set. Game-editing apparatus204may display the column headers and some or all of the rows of data set210to the user, and the user may select a column representing an item and one or more columns representing attributes of the item to be used with the online game.

In one or more embodiments, game template208includes a set of rules that describe the types and/or number of subsets214that can be used with the online game. For example, game template208may limit subsets214of row-by-column data to one column for an item and one column for an attribute of the item if game template208is for a one-to-one matching game. Alternatively, game template208may allow the user to select multiple columns of attributes if the matching game is designed to allow a user to match an item to a random attribute and/or a set of attributes that are introduced sequentially in the matching game. If game template208is for an ordering game, game template208may require the user to specify a column of attributes that can be ordered. If game template208is for a categorization game, game template208may require the user to specify a column of attributes with fewer than a pre-specified number of unique values.

To facilitate selection of subsets214, game-editing apparatus204may identify one or more subsets that are eligible or not eligible for use with game template208. For example, game-editing apparatus204may highlight eligible columns and gray out ineligible columns in row-by-column data. Game-editing apparatus204may also recommend columns that work best with game template208by, for example, displaying a symbol (e.g., asterisk, star, etc.) next to the columns.

Game-editing apparatus204may also allow the user to provide one or more configuration options212associated with game template208. Configuration options212may be used to customize the appearance and/or behavior of the online game. For example, configuration options212may include a title, a formatting option (e.g., board size, layout, color, font, background, etc.), and/or a game play option (e.g., game play speed, number of tries, number of rounds to play, etc.). Configuration options212may also be associated with default values to facilitate creation of the online game by a newer and/or novice user. Game-editing apparatus204may then include configuration options212, subsets214, game template208, and/or data set210in game data (e.g., game data1240, game data n242) for the online game and store the game data in a game data repository238.

Game-editing apparatus204may further allow the user to specify one or more functions for modifying data in subsets214before the data is used in the online game. For example, the user may create a function that concatenates data from two different columns with static text to create a string that can be displayed in the online game in lieu of separate pieces of data from the columns. Similarly, the user may create a function that groups numeric data from a column into ranges that can be used in the online game. Finally, the user may create a function that limits the rows of data set210to be used in the online game based on the values of one or more attributes in the rows. To maintain the separation of the online game from the data set, such functions may be stored with game data for the online game in game data repository238instead of data set210in data set repository226. In turn, the functions may provide game-specific customization of data from data set210without increasing the size and/or complexity of data set210.

Those skilled in the art will appreciate that other data formats may be used with data sets used to create online games216. Such data formats may include lists of related values associated with keys, such as the following mapping of alphabetic letters to country names:V→Vanuatu, Vatican City, Venezuela, VietnamY→YemenZ→Zambia, Zimbabwe
Another use of the key-and-values format may include the mapping of city names to professional sports teams:Chicago→Bears, White Sox, Cubs, Bulls, BlackhawksOrlando→MagicMiami→Dolphins, Marlins, Heat, PanthersIndianapolis→Colts, Pacers

Games that utilize the above format may include, for example, a game that provides a key (e.g., “Z”) and prompts a user to enter all values associated with the key (e.g., “Zambia,” “Zimbabwe”) within a pre-specified period (e.g., 30 seconds). In another example, the game may show one value (e.g., “Vietnam”) and prompt the user to fill in the other values associated with the same key (e.g., “Vatican City,” “Venezuela,” “Vanuatu”). In a third example, the game may provide a key (e.g., “V”) and prompt the user to identify the number of values (e.g., 4) associated with the key. The user may receive full credit for the correct number and partial credit for answers that are close to the correct number (e.g., 3 or 5).

The system ofFIG. 2may also support a “compound” data format containing two or more parts. One or more of the parts may be in a “spreadsheet-style” (e.g., row-and-column) format and/or a key-and-values list. An exemplary data set utilizing the compound data format may include a collection of images and a set of rows and columns, in which each row references one of the images and provides an (x, y) coordinate pair:New York, USA_map, (381, 117)San Francisco, USA_map, (107, 144)Miami, USA_map, (344, 220)Toronto, Canada_map, (304, 202)Vancouver, Canada_map, (175, 176)
In the exemplary data set, each row provides a city name, references one of two images (e.g., “USA_map” or “Canada_map”), and specifies the pixel coordinates of the corresponding city on the referenced image (e.g., map). The data set may then be used as the basis for a geography game that displays a map and a city name and prompts the user to click and/or select the corresponding location on the map. User selections that are within a certain number of pixels from the correct location may be given full or partial credit.

The compound data format may also be used with variable-length lists of coordinates. An exemplary data set that utilizes variable-length coordinate lists may include the following:Colorado, USA_map, {(179, 144), (179, 115), (220, 115), (220, 144)}Utah, USA_map, {(151, 144), (151, 108), (168, 108), (168, 115), (179, 115), (179, 144)}
In the above data set, a state name is followed by the image containing the state and a set of pixel coordinates representing the state's outline, with more complex state outlines represented by longer lists. For example, a state such as California may be associated with a long list of coordinate pairs, while a roughly rectangular state such as Colorado may require only four coordinate pairs.

The compound data format may also be used with non-geography-related games. For example, the compound data format may be used in a medical game that displays an image related to human anatomy and the name of an anatomical structure and prompt the user to identify the location of the anatomical structure within the image. As a result, the data set for the medical game may have an image collection of images named “human_heart” or “human_kidney” and the following associated data:left ventricle, human_heart, {(429, 506), (327, 371), (350, 311), (424, 299), (453, 417)}pulmonary vein, human_heart, {(331, 200), (485, 189), (509, 281), (446, 292), (374, 205), (326, 207)}renal artery, human_kidney, {(313, 172), (259, 197), (256, 190), (267, 174), (311, 163)}
In other words, the coordinate pairs in the above data set may represent rough outlines of the corresponding anatomical structures in the specified images.

An additional use of the compound data format may be for teaching vocabulary. Images may include scenes of a classroom, farm, office, and/or other locales, and users may be prompted to identify the locations of objects in the locales. For example, a game for learning Spanish may display an image of a classroom and the word “lapiz” to prompt the user to select a pencil within the image. The game may also show an image of a farm and the word “vaca” to prompt the user to select a cow within the image.

Finally, data in the data sets may be stored using a relational model (e.g., for a relational database). An exemplary data set using the relational model may store data related to Spanish vocabulary using the following:1. “Verb” tableColumns: primary key, infinitive, English meaning, gerund, participle, regularityExample data:1, bailar, to dance, bailando, bailado, regular2, estar, to be, estando, estado, irregular2. “Subject” tableColumns: primary key, subject, meaningExample data:1, yo, I2, tú, you3, el, he4, ella, she3. “Tense” tableColumns: primary key, tense in Spanish, tense in EnglishExample data:1, presente, present2, futuro simple, simple future3, condicional, conditional4, preterito, simple past4. “Conjugations” table: contains one row for every combination of values from the Verb, Subject, and Tense tables, referencing them by their keys.Columns: primary key, verb key, subject key, tense key, conjugated formExample data:{primary key}, 1, 3, 4, bailó

A game that uses the relational model data format above may provide the user with a randomly selected collection of values from the “Verb,” “Subject,” and “Tense” tables, such as (“bailar,” “tú,” “future”), and prompt the user to type the correct conjugation (e.g., “bailarás”). To set up the game, the creator may specify the tables and columns containing the answers, along with how the foreign keys for each of the clues are to be used. For example:Answers coming from: Conjugations table→conjugated formClue 1: Verb table (Conjugations table→verb key)→infinitiveClue 2: Subject table (Conjugations table→subject key)→subjectClue 3: Tense table (Conjugations table→tense key)→tense in English

Another game that uses the relational model data format above may give the user a value and prompt the user to select the correct meaning of the value's foreign key. For example, the user may be provided with “bailarás” and three random verb tenses, such as “present,” “conditional,” and “simple future.” The player may then receive points for choosing the correct answer, or “simple future.” To provide the game with the locations of the clues, the creator may specify the following:Clue corning from: Conjugations table→conjugated formCorrect answer coming from: Tense table (Conjugations table→tense key)→tense in English
The game may then assume that the non-correct answer choices should come from the same table and column as the correct answer.

After the game data is generated and stored in game data repository238, a game-management apparatus206in online gaming framework102may create the online game using the game data. For example, game-management apparatus206may retrieve the game data from game data repository238and identify game template208and data set210from the game data. Game-management apparatus206may also obtain configuration options212and subsets214from the game data and instantiate the online game using configuration options212and data from subsets214.

Game-management apparatus206may include the newly created online game in a set of online games216that can be played by users of online gaming framework102. Game-management apparatus206may also maintain and/or provide a set of usage statistics218for the online game and/or other online games (e.g., online games216). For example, game-management apparatus206may track an overall and/or average time spent on the online game, a number of users of the online game, a popularity of the online game (e.g., overall ranking, increasing popularity, decreasing popularity), a rating of the online game by players, and/or a set of high scores for the online game. Such game-based usage statistics may be stored with game data for the online game in game data repository238or in a separate repository of usage statistics. Game-management apparatus206may also track, for each user playing online games, a time spent on playing online games216, specific online games played by the user, the user's top scores with online games216, and/or the user's correct and incorrect answers provided during playing of online games216. Such user-based usage statistics may be stored with user data (e.g., user data1222, user data z224) in a user data repository220or in a separate repository of usage statistics.

Consequently, online gaming framework102may allow users to create online games216without requiring the users to manually input the data into game templates for online games216. Instead, the data may be obtained from a data set that was previously created by the user and/or another user, thus allowing the data to be used with multiple online games216. Such decoupling of data from online games216may additionally allow one set of users to focus on creating data sets and another set of users to focus on creating online games216using the data sets. Finally, changes to the data in the data set may be automatically propagated to the online games, which may further reduce the overhead associated with creating, maintaining, and/or updating online games216.

Those skilled in the art will appreciate that the system ofFIG. 2may be implemented in a variety of ways. First, data-editing apparatus202, game-editing apparatus204, game-management apparatus206, data set repository226, template repository232, game data repository238, and user data repository220may be implemented as a single physical machine, multiple computer systems, one or more virtual machines, a grid, one or more databases, one or more filesystems, and/or a cloud computing system. Data-editing apparatus202, game-editing apparatus204, and game-management apparatus206may also be implemented together and/or separately by one or more hardware and/or software components and/or layers. Moreover, data-editing apparatus202, game-editing apparatus204, and game-management apparatus206may be accessed by a set of users through one or more interfaces (e.g., interface112ofFIG. 1), such as GUIs, web-based user interfaces, and/or touch user interfaces.

Second, data-editing apparatus202, game-editing apparatus204, and game-management apparatus206may include functionality to create and use data sets of other formats. For example, data-editing apparatus202may be capable of creating data sets that are stored in graphs, and game-editing apparatus204and game-management apparatus206may allow users to create and play games using some or all of the data in the graphs.

FIG. 3shows the exemplary use of a data set with a set of online games320-324in accordance with the disclosed embodiments. The data set includes four columns302-308and five rows310-318. For example, column302may contain state names for states in the United States, column304may contain abbreviations of the state names, column306may contain state capitals of the states, and column308may contain years of statehood for the states. The data set may include additional columns (not shown), such as a column for images associated with rows310-318and one or more columns containing pixel coordinates of the images that correspond to data in one or more rows310-318. For example, the data set may be a compound data set that additionally specifies a map of the United States and the pixel coordinates of each state capital

Online game320may use data from columns302-304, online game322may use data from columns302and306, and online game324may use data from columns304-308. As mentioned above, each online game320-324may include a column representing an item and one or more columns representing attributes of the item. For example, column302(e.g., state name) may identify the item used in online games320-322, and columns304-306(e.g., abbreviation, capital) may specify attributes of the item in online games320-322, respectively. Similarly, column304(e.g., abbreviation) may identify the item used in online game324, and columns306-308(e.g., capital, year of statehood) may provide attributes of the item used in online game324.

Because online games320-322use data from two columns, online games320-322may be matching games. For example, online games320-322may prompt users to match state names with abbreviations or capitals by turning over flashcards and/or dragging boxes containing state names to boxes containing abbreviations or capitals corresponding to the state names. Online games320-322may also be identification games that prompt users to identify a value from one column given the corresponding value from the other column. For example, online games320-322may show an item (e.g., state name) from column302as an item and ask the users to type the attribute (e.g., abbreviation, capital) corresponding to the item and/or select the attribute from a set of possible values. Alternatively, online games320-322may show the item's attribute and ask the user to type or select the item.

Unlike online games320-322, online game324uses data from three columns304-308and may operate differently from online games320-322. For example, online game324may ask the users to form groups of three boxes containing the state abbreviations, capitals, and years of statehood for each state represented by a row310-318in the data set. Online game324may also ask the users to order values in column304and/or column306by the numeric values in column308. Finally, online game324may prompt the users to type a value from one column given a value from one of the other columns. The user may also be given the opportunity to view the value from the third column as an additional “clue” before typing the requested value. In other words, a variety of online games may be created from columns302-308and rows310-318of the same data set, and changes to the data set may automatically be propagated to online games320-324without requiring further configuration of online games320-324by users involved in creating online games320-324.

FIG. 4shows a flowchart illustrating the process of facilitating creation of an online game in accordance with the disclosed embodiments. In one or more embodiments, one or more of the steps may be omitted, repeated, and/or performed in a different order. Accordingly, the specific arrangement of steps shown inFIG. 4should not be construed as limiting the scope of the embodiments.

Initially, a data set and a game template for the online game are obtained. The data set may include a set of rows and a set of columns. The game template may be used to create a matching game, a categorization game, an ordering game, an identification game, and/or other type of game. To obtain the data set and game template, a set of data sets and a set of game templates are provided to a user (operation402), and the user is enabled to select the data set from the set of data sets and the game template from the set of game templates (operation404). Alternatively, the game template may be selected by the user after a default data set is obtained during creation and/or modification of the data set. Creation and modification of data sets is described in further detail below with respect toFIG. 5.

Next, the user is enabled to select one or more subsets of the data set for use with the game template (operation406). The subset(s) (e.g., columns) may represent an item and one or more attributes of the item to be used with the online game. One or more configuration options for the online game are also obtained from the user (operation408). The configuration options may include a title, a formatting option, and/or a game play option. The configuration options may also have default values if the user does not wish to provide any configuration options for the online game.

The online game is then created from the game template, data from the subset(s), and the configuration options (operation410), and access to the online game by the user and one or more other users is enabled (operation412). In particular, playing of the online game by the users may be enabled, and a set of usage statistics for the online game may be provided. The usage statistics may include a time spent, a number of users, a popularity, a score, a ranking, a correct answer, and/or an incorrect answer. Furthermore, changes in the subset(s) are automatically propagated to the online game without requiring further configuration of the online game by the users (operation414). For example, changes to the data set may be automatically reflected in the online game the next time the online game is played because the online game operates as a “game layer” that obtains data from a “data layer” that contains the data set and is decoupled from the “game layer.”

FIG. 5shows a flowchart illustrating the process of creating a data set in accordance with the disclosed embodiments. In one or more embodiments, one or more of the steps may be omitted, repeated, and/or performed in a different order. Accordingly, the specific arrangement of steps shown inFIG. 5should not be construed as limiting the scope of the embodiments.

First, the data set is obtained from one or more users (operation502). For example, the data set may be obtained through a user interface for editing a set of rows and a set of columns in the data set. Next, modification and copying of the data set by the user(s) is enabled (operation504). For example, the user who created the data set may be allowed to modify the data set, while other users may copy the data set into new versions of the data set and modify the new versions. Finally, the data set is included in a set of data sets for use in creating online games (operation506). A user may then select the data set and one or more columns in the data set for use with a game template during creation of the online game, as described above.

FIG. 6shows a computer system600in accordance with an embodiment. Computer system600may correspond to an apparatus that includes a processor602, memory604, storage606, and/or other components found in electronic computer systems. Processor602may support parallel processing and/or multi-threaded operation with other processors in computer system600. Computer system600may also include input/output (I/O) devices such as a keyboard608, a mouse610, and a display612.

Computer system600may include functionality to execute various components of the present embodiments. In particular, computer system600may include an operating system (not shown) that coordinates the use of hardware and software resources on computer system600, as well as one or more applications that perform specialized tasks for the user. To perform tasks for the user, applications may obtain the use of hardware resources on computer system600from the operating system, as well as interact with the user through a hardware and/or software framework provided by the operating system.

In one or more embodiments,FIG. 6provides a system for facilitating creation of an online game. The system may include a game-editing apparatus that obtains a data set and a game template for the online game and enables a user to select one or more subsets of the data set for use with the game template. The system may also include a game-management apparatus that creates the online game from the game template and data from the subset(s) without requiring manual input of the data into the game template by the user. Finally, the system may include a data-editing apparatus that obtains the data set from the user or one or more other users and enables modification and copying of the data set by the user or the one or more other users.

In addition, one or more components of computer system600may be remotely located and connected to the other components over a network. Portions of the present embodiments (e.g., game-editing apparatus, game-management apparatus, data-editing apparatus, etc.) may also be located on different nodes of a distributed system that implements the embodiments. For example, the present embodiments may be implemented using a cloud computing system that allows a set of remote users to create online games using game templates and data sets and/or play the online games.

The foregoing descriptions of various embodiments have been presented only for purposes of illustration and description. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention.

Claims

  1. A computer-implemented method for facilitating creation of an online game, comprising: obtaining a data set and a game template for the online game from an online gaming framework, wherein the data set comprises a list of items and corresponding attributes for each item in the list of items, wherein the game template comprises a set of game mechanics for implementing the game, and wherein the data set and the game template are independent;enabling, at the online gaming framework, a user to select one or more subsets of the data set for use with the game template;and creating, at the online gaming framework, the online game from the game template and data from the one or more subsets without requiring manual input of the data into the game template by the user, wherein the online gaming framework enables the efficient reuse of data sets and game templates for the creation of new games.
  1. The computer-implemented method of claim 1 , wherein obtaining the data set and the game template for the online game involves: providing a set of data sets and a set of game templates to the user;and enabling the user to select the data set from the set of data sets and the game template from the set of game templates.
  2. The computer-implemented method of claim 1 , further comprising: obtaining one or more configuration options for the online game from the user;and including the one or more configuration options in the online game.
  3. The computer-implemented method of claim 3 , wherein the one or more configuration options comprise at least one of: a title;a formatting option;and a game play option.
  4. The computer-implemented method of claim 1 , further comprising: obtaining the data set from the user or one or more other users;and enabling modification and copying of the data set by the user or the one or more other users.
  5. The computer-implemented method of claim 5 , wherein the data set is obtained through a user interface for editing a set of rows and a set of columns in the data set.
  6. The computer-implemented method of claim 1 , further comprising: enabling access to the online game by the user and one or more other users;and automatically propagating changes in the one or more subsets to the online game without requiring further configuration of the online game by the user or the one or more other users.
  7. The computer-implemented method of claim 7 , wherein enabling access to the online game by the user and the one or more other users involves at least one of: enabling playing of the online game by the user and the one or more other users;and providing a set of usage statistics for the online game.
  8. The computer-implemented method of claim 8 , wherein the set of usage statistics comprises at least one of: a time spent;a number of users;a popularity;a score;a ranking;a correct answer;and an incorrect answer.
  9. The computer-implemented method of claim 1 , wherein the data set is associated with at least one of: a set of rows and a set of columns;a key and a set of values related to the key;a compound data format;and a relational model.
  10. A system for facilitating creation of an online game, comprising: a game-editing apparatus configured to: obtain a data set and a game template for the online game from an online gaming framework, wherein the data set comprises a list of items and corresponding attributes for each item in the list of items, wherein the game template comprises a set of game mechanics for implementing the game, and wherein the data set and the game template are independent;and enable a user to select, at the online gaming framework, one or more subsets of the data set for use with the game template;and a game-management apparatus configured to create the online game, at the online gaming framework, from the game template and data from the one or more subsets without requiring manual input of the data into the game template by the user, wherein the online gaming framework enables the efficient reuse of data sets and game templates for the creation of new games.
  11. The system of claim 11 , wherein the game-editing apparatus is further configured to obtain one or more configuration options for the online game from the user, and wherein the game-management apparatus is further configured to include the one or more configuration options in the online game.
  12. The system of claim 11 , further comprising: a data-editing apparatus configured to: obtain the data set from the user or one or more other users;and enable modification and copying of the data set by the user or the one or more other users.
  13. The system of claim 11 , wherein the game-management apparatus is further configured to: enable access to the online game by the user and one or more other users;and automatically propagate changes in the one or more subsets to the online game without requiring further configuration of the online game by the user or the one or more other users.
  14. The system of claim 14 , wherein enabling access to the online game by the user and the one or more other users involves at least one of: enabling playing of the online game by the user and the one or more other users;and providing a set of usage statistics for the online game.
  15. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for facilitating creation of an online game, the method comprising: obtaining a data set and a game template for the online game from an online gaming framework, wherein the data set comprises a list of items and corresponding attributes for each item in the list of items, wherein the game template comprises a set of game mechanics for implementing the game, and wherein the data set and the game template are independent;enabling, at the online gaming framework, a user to select one or more subsets of the data set for use with the game template;and creating, at the online gaming framework, the online game from the game template and data from the one or more subsets without requiring manual input of the data into the game template by the user, wherein the online gaming framework enables the efficient reuse of data sets and game templates for the creation of new games.
  16. The non-transitory computer-readable storage medium of claim 16 , the method further comprising: obtaining one or more configuration options for the online game from the user;and including the one or more configuration options in the online game.
  17. The non-transitory computer-readable storage medium of claim 16 , the method further comprising: obtaining the data set from the user or one or more other users;and enabling modification and copying of the data set by the user or the one or more other users.
  18. The non-transitory computer-readable storage medium of claim 16 , the method further comprising: enabling access to the online game by the user and one or more other users;and automatically propagating changes in the one or more subsets to the online game without requiring further configuration of the online game by the user or the one or more other users.
  19. The non-transitory computer-readable storage medium of claim 19 , wherein enabling access to the online game by the user and the one or more other users involves at least one of: enabling playing of the online game by the user and the one or more other users;and providing a set of usage statistics for the online game.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.