Method and system of monitoring and enhancing development progress of players
In an embodiment, education games may be played on user systems or online. Game developer can make available games that test various skills. Games may be integrated with monitor software to evaluate skills and deficiencies. Reports of games may be made available for analysis.
Latest Patents:
This application claims priority benefit of U.S. Provisional Patent Application Number No. 61/342,054 (Docket No. 94-1), entitled MONITORING AND ENHANCING DEVELOPMENT PROGRESS OF CHILDREN AT PLAY, by Eli Porat and Idan Bar, filed Apr. 7, 2010, which is incorporated herein by reference.
FIELD OF INVENTIONThis specification relates to educational software.
BACKGROUNDThe subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also be inventions.
There are numerous game portals, and game developers offer many games for players. Play is a biological process that has evolved for teaching life skills. Play may induce creativity and innovation in later life. Software, such as flight simulators have also been used to train individuals.
In the following drawings like reference numbers are used to refer to like elements. Although the following figures depict various examples of the invention, the invention is not limited to the examples depicted in the figures.
Although various embodiments of the invention may have been motivated by various deficiencies with the prior art, which may be discussed or alluded to in one or more places in the specification, the embodiments of the invention do not necessarily address any of these deficiencies. In other words, different embodiments of the invention may address different deficiencies that may be discussed in the specification. Some embodiments may only partially address some deficiencies or just one deficiency that may be discussed in the specification, and some embodiments may not address any of these deficiencies.
A system and method is provided for monitoring the performance of a player's basic abilities, such as skills and/or aptitudes during play. In this specification term ability will be used as being generic to skill and aptitude. By integrating the games that are fun for players, the players are more likely to participate in the games. The system can monitor the basic skill of players while playing fun and popular games. Guardians can monitor their player's development progress by accessing various reports with information applicable to the player's development progress. Games referred to in this specification may be played on a machine or computer. Games may be presented to players in one or more webpages, an application on a mobile device or an application on a social network.
In this specification the terms “parent” guardian, educator, interested party, and/or authorized party are used interchangeably with one another, and each of these terms may be substituted for one another to obtain other embodiments. Parents of young players (e.g., ages 2-8) may act as the “navigator” for their players, who may not be able to fully operate the complete process of playing a game on their own. However, parents or other guardians are not required for using the system. In this specification, the term ‘player’ refers to a person playing a game and may be an adult or a child.
Guardians may choose an appropriate game for their players, expecting that their choice will be beneficial for the development of specific skills. A monitoring application (including a monitoring algorithm) allows guardians to recognize individual skills and strengths of their players engaged in playing the games. Guardians may then help players reach new heights, by guiding the player to games that develop desired skills. Guardians of young players can initially introduce the players to games relevant for the player's age group. As the player progresses and shows mastery of skills, the catalog of games presented to the player can change. The host system can be interactive by learning the skill level of the player and present appropriate games to the player automatically. The term “development” is used in this specification as generic to any form of progress in learning of information, skills, maturity, performance, rate of learning, mental development, and or other forms of development.
Host system 100 may be used by game players to play game, game developers to deploy games, and guardians to monitor the development of a player that the parent is a guardian for.
Games 106 may be software for one or more games, which optionally may be supplied by a third party game developer. Games 106 produce code for rendering one or more web pages for players related to the games being played (e.g., Flash games). The games may be based on various tools such as Flash Player, which may be a plug-in to a browser (or other HTTP client). However, other browser plug-ins, scripts, or code may be used instead of Flash Player. For example, Java applets, Shockwave, Silverlight, and/or Unity may be used in addition to, or instead of, Flash Player as browser plug-ins. Also other browser based and/or server based games may be used instead of plug-ins. Further, games 106 may reside and be deployed on host system 100. In an alternative embodiment, games 106 may be stored on host system 100 and temporarily be partly or fully downloaded to a user system while the user is playing the game.
Multiple games of games 106 may focus on analyzing a particular skill and/or specific pieces of knowledge. In an embodiment, a specific set of follow up games may be presented to players depending on the responses to previous games. In an embodiment, a specific set of games may be available to player, depending of the player's age and/or skill level. In other embodiments, any player may be free to experiment with any game. Follow up games may be designed to confirm that prior correct answers were not just accidents, understand the nature of the player's knowledge, and/or skill deficiency, for example, in order to help enhance knowledge and/or skill of the player. Although any given game of games 106 may focus on a particular aptitude, skill or set of aptitudes and/or skills, in an embodiment, each game may monitor many other skills and/or aptitudes to a lesser extent and provide information about those skills and/or aptitudes.
Monitoring routines 108 may include function calls to routines that monitor the player's activities during the game for the purpose of gathering information about the player's development. Monitoring routines 108 call routines that track a player's movements and responses. For example, monitoring routines 108 may record or indicate the beginning of tasks, events that occur during tasks, the end of the task, and/or other related events. Monitoring routines 108 is code used to integrate existing game code into host system 100. The collection of routine calls that may be included in monitoring routines 108 are the Application Program Interface (API) of the host system 100. Integrating the monitoring routine calls, via monitoring routines 108, into games 106 enables the monitoring of players' development.
In an embodiment, monitoring routines 108 may be embedded in one or more games, games being ones that are designed to analyze and/or teach certain types of skills, knowledge, interest level, and/or responsiveness of players.
Database 110 can store a player's profile, game scores, and reports. Database 110 may include a database server in addition to the actual files stored in an organized fashion, information about users. A player's profile may include, name of the player, age of the player, the gender of the player, birth month and year, and optionally a picture of the player (regarding the player's gender, boys and girls mature and/or for at least some skills tend to develop and different skills at different rates, which may affect what is statistically expected to be a normal score for a particular task for a particular player). The profile along with the player's score and/or other information about the player's development may be used in the analysis of the performance, rate of learning, mental development, and/or other forms of development of players. Host system updates the player's profile from time to time with new information such as the player's brothers and sisters, weight of the player at birth and more. The profile helps in arriving at the player's score and the system score.
Report generator 112 may include one or more machine instructions to retrieve a player's profile, the game levels, performance indicators generated while monitoring the player playing games, and/or game scores, perform an analysis of the player, and generate reports that show the result so of the analysis. In an embodiment, the reports are presented to guardians to understand the player's development and/or progress. For example, the guardian may have an account separate from, but associated with, a player for which the guardian is a guardian, and the guardian may be provided with tools for viewing and/or generating reports related to the player.
Web server 114 serves webpages to clients, such as players, guardians, and third party game developers. For example, web server 114 may include a user interface for the player to select and play games, a user interface for generating and/or viewing reports related to the development of the player, and/or an interface for a third party game developer to register with host system 100 as a game developer, copy and/or download function calls, information about game monitoring routines needed to properly use monitoring routines 108, upload and/or deploy newly developed games on host system 108 into which monitoring routines 108 have been integrated.
Online Gaming SystemIn system 200, the player plays, via a network, a game that runs on host system 100. Host system 100 and games 106 were discussed above in conjunction with
In an alternative embodiment, cookies, script, and/or code related to games 106 is downloaded to user system 202 and runs on user system 202. In this alternative embodiment, parts or all of game 106 and/or game monitoring routines 114 (see
Developer 222 may be a software developer, developing games. Developer 222 implements one or more machine instructions that integrate monitoring routine 108 into games 106. Game 224 may be supplied by the developer 222. Developer center 226 may receive games from developer 222. Client component 228 may be a software component of the system that monitors the game. Client component 228 may receives the actions or output of the game. ES events 230 are the events that are monitored. Report 232 generates reports based on the inputs from ES events. Guardian 234 can view the reports to understand the skill level of player 220. The monitoring software may be integrated into the game automatically, manually, and/or a combination of automatically and manually. Client component 228 stores information gathered from each event in one or more reports which are available for viewing by guardian 234. In an embodiment, the algorithm embedded in a series of games that are designed to analyze and/or certain types of skills knowledge, interest level, and responsiveness of player 220. Within each game, the algorithm may use a battery of puzzles, each designed to analyze a particular skill and/or specific pieces of knowledge, and for each puzzle the algorithm may have a specific set of follow up puzzles which are presented to the player depending on the prior ser of responses to previous puzzles.
Game Monitoring and ScoringIn an embodiment, host system 100 may include multiple games. In an embodiment multiple games may be used to test a particular category of knowledge and/or skills. In an embodiment, each game may have a different background scenery, objectives, and tasks to accomplish. Points are awarded for the knowledge and the skill area being analyzed and a report may be prepared for the player showing the player's overall score in a particular area and performance on the game played. Different reports may be generated for different skills and aptitudes. Since even though each game may focus on one skill or aptitude, each may nonetheless measure multiple skills and aptitudes (although not to the same extent as skill or aptitude being focused on, in general each game will result in an adjustment to multiple reports. The reports may be generated automatically after each game that the player plays and/or upon the request of a guardian based on stored data.
In an embodiment, host system 100 may present the guardian and/or player the option of displaying the level of the game, the player's score while playing the current game and/or the player's overall score for the skill set monitored by the game, the duration of time the player has been playing the game, a help icon (e.g., a question mark), and/or an icon for turning on an audio track associated with the game. The help icon may provide instructions to the player for how to play the game and/or useful hints. The audio track may include music, and/or audio versions of the questions asked of the player.
Skills CategoriesIn an embodiment, the monitoring process may be based on following the player's performance of tasks indicative of skills embedded and monitored in the games. In an embodiment, the games are monitored for skills in various categories such as linguistic acquisition, arithmetic skill, audio memory, visual memory, planning and organization, multidimensional perception, musical skill, hand-eye coordination, shape identification, color identification, attention, and/or speed of learning (how quickly the player's skill improves with game experience).
A player may be presented with different games and quizzed according to the skills being tested. If the player chooses the correct answer, the player may be awarded points, and the points are added to the total score in the linguistic acquisition skill. If the player chooses the wrong answer, the system adjusts the player's total score in the linguistic acquisition to reflect the wrong result. A report may be either created and/or updated (discussed in conjunction with
Host system 100 may monitor knowledge and understanding of objects and/or concepts while the user is playing games such as the one associated with screenshot 400a. In an embodiment, host system 100 may collect and analyze information about shapes, colors, animals, general objects, and/or about other concepts and/or objects associated with games, such as the game associated with screenshot 400a.
In an embodiment, screenshot 400a may appear showing an image of jungle 402a with one or more animals 404a. In an embodiment, the player may be presented with one or more stationary webpages with screenshot 400a or similar to screenshot 400a having jungle 402a with jungle flora and animals 404a amongst the jungle flora. In an embodiment, the player can navigate through jungle 402a having leaves of plants that may occasionally move in response to moving animals 404a that maneuver through jungle 402A, appearing to the player on occasion.
In an embodiment a caption appear on the screen and/or voice message says, “Why don't you try to find the animal that loves honey?” The animals in screenshot 400a may be selectable using a pointing device of user system 202. In an embodiment, by manipulating the pointing device, the player selects the animal, which creates a noise and/or image suggestive of a camera taking a picture. For example, a flash may appear on the screen suggestive of a flash on a camera being activated. In an embodiment, the player may be given an avatar with a camera that the player manipulates via the pointing device, causing the avatar to walk through jungle 402a and/or photograph animals 404a. In an embodiment, to be successful, the player needs to manipulate the avatar to take a picture of the bear and not other animals in the jungle. To be successful in the game, the player needs to recognize different animals based on the player's language acquisition skills.
In an embodiment, game system 102 may further quiz the player to determine whether the player recognizes the animal “bear” and the word “honey” (to determine whether the player understands the connection between them). If game system 102 determines that player understands the words “bear” and “honey,” game system 102 may perform another predetermined quiz to determine whether the player understands the connection between the bears and honey. The analysis may be part of a catalog of games and game system exposes the player to the relevant game based on prior results. Report may include the performance of the player on each game. Guardians can read the report to see that the player knows the animal “bear,” the word “honey” and the relationship between them. Host system 100 may expose the player to more quizzes to ensure that the player knows and understand the objects and the connection between them. While playing the linguistics game of
Arithmetic skill may include interpretation of mathematical functions, numbers and related quantities. Host system 100 can collect and analyze information about relations between groups, subtracting, multiplication, addition, subtracting and/or other mathematical skills.
In an embodiment, the player may be presented with one or more webpages with screenshot 400b or similar to screenshot 400b, to understand whether the player can identify the animal with the most limbs. Screenshot 400b is an example image of under the sea around the jungle island with multiple animals. Turtle 402b and crab 404b are presented and the player may be asked to choose the animal with more limbs. Although the arithmetic game may relate most directly to the player's ability to distinguish relative sizes of numbers, the arithmetic game may be monitored and/or administrated in manner to facilitate determining other information, such as whether the player recognizes the words for turtle and crab.
Audio Memory and Visual MemoryMemory may be analyzed by asking the player to identify objects that require audio and/or visual memory.
Visual Memory:
To test visual memory skills, the player may be presented with a series of rising bubbles. In an embodiment, in screenshot 400c, bubble 402c, bubble 404c and bubble 406c may be the rising bubbles. An object may be embedded in each bubble. The player may be requested to remember the objects seen in the game and select objects that appear twice. Level 408c indicates the player's level of the game, score 410c indicates the player's score, time 412c indicates the elapsed time in seconds. Help 414c may be an icon which when selected displays instructions to play the game. Audio 416c may be the audio button used to select the volume level of sounds that are output as part of the game. The sounds that are output as part of the game may include music that accompanies game and/or sounds that the player may associate with rising bubbles and/or the items in the bubbles.
Audio Memory:
In an embodiment, a series of numbers may be read to the player by game system 102. The player may be asked to verbally repeat the numbers in the same order and/or to enter the numbers into an interface in the same order as the numbers were read. In screenshot 400d, key pad 402d may be used to enter the numbers that were read to the player. Selecting clear button 404d removes accidental entry. Selecting ok button 406d indicates that the player completed entering the sequence of numbers. In an embodiment, the player may be asked to remember sequences of letters and/or other symbols. In an alternative embodiment, the player may be presented with a series of treasure chests, safes, draws, and/or secret rooms, each storing a treasure or valuable item and each guarded by a padlock, combination lock, and/or key pad lock of different sizes, shapes, and appearances. To unlock, the player needs to remember the lock combination. Data may be collected based on how closely the player remembered the numbers (which relates to arithmetic abilities), how often the player entered an incorrect number and then changed the number to a correct number or visa-versa, which may be analyzed for other issues, such as motor skills and/or confidence.
Planning & OrganizingPlanning and organizing may evaluate a player's performance and/or train a player in determining a logical approach for performing tasks, considering all the elements in the process. Game system 102 may collect and analyze information about planning ahead, problem solving, gathering information, processing, decision making and other elements of planning and/or organizing.
First side 402e may be a first side of a watercourse. Second side 404e may be a second side of a watercourse. Stones 406e may be stones used to cross the watercourse. In an embodiment, during the game of
In an alternative embodiment, the player may be allowed to choose from a finite number of different types of building materials, such as stones of different sizes and/or other objects with which to build the walkway. The finished walkway should enable the player to cross the watercourse. In an embodiment of screenshot 400e, first side 402e may be on side of the waterway, second side 404e may be on the other side of the waterway. Stones 406e may be stones of various sizes that may be used to build a way to cross water. In another embodiment, the player may be able to choose other building materials, such as boards of wood of different sizes and/or other objects.
Multidimensional PerceptionThe multidimensional perception review may involve identifying and sorting objects in relative spaces, thereby analyzing the player's understanding of the movement and position of the objects. The system may collect and analyze information about distance, height, space completion and more.
Fish 402f may be a school of fish arranged in a two dimensional pattern. In an embodiment, school of fish 402f may be presented to a player and may be asked to identify the first, last, highest, and/or lowest moving fish to thereby test the players ability to identify special locations within the pattern (optionally, in addition, the players vocabulary of words related to the game is also tested).
Musical SkillMusical skill may evaluate and train auditory memory by having the player identify and/or recognizes rhythms, notes, and/or tones.
In an embodiment in screenshot 400g, a player may be presented with flute 402g, xylophone 404g, guitar 406g, triangle 408g and drum set 410g and a series of tones related to one of the instruments. The player may be asked to repeat the tones by choosing the musical instruments that played those tones. In another embodiment, the player may be asked to repeat notes by pointing to keys on a piano or xylophone that produced the notes.
Hand Eye CoordinationHand eye coordination may analyze fine motor skills.
In an embodiment score 402g may be the score of the player. Block 404h may be the building material that may be presented to the player to construct a tower as tall as possible. Building a tower requires stacking a number of blocks, such as block 404h. Tower 406h may a tower that the player builds, which is constructed from blocks similar to block 404h. If the player misplaces one of the blocks (due to poor hand eye coordination) or does not align the newly placed block 404h with a block below, tower 406h may not be as stable, and the tower may fall once the tower is above a certain height, which may depend on the degree of misalignment in which the blocks are placed.
Shape and Color IdentificationThe shape and color identification information package may review and/or train cognitive and thinking processes displayed during decision making while playing a game.
In an embodiment, in screenshot 400i, background 402i may be a background having different colors and with holes of different shapes. Shapes 404i may be different shapes and colors. A player may be presented with shapes 404i and background 402i. The player may be asked to a place a shape from shapes 404i into the holes of the same color and shape in background 402i. For example, the player may be asked to repair properly repair a multicolor sail of a ship so that the ship can sail on a voyage. The sail may have different shaped holes and the player may be given different shaped and colored pieces of material with which to repair the sail. Once the sail is repaired, the ship may depart with the player's avatar on board. If the player has trouble distinguishing colors, host system 100 can report to guardians for further analysis for color blindness.
AttentionAttention may be the skill of selectively concentrating on one aspect of the environment while ignoring other things. Attention has also been referred to as the allocation of processing resources.
In an embodiment of a game, screenshot 400j may be used to help a player practice, and/or analyze, monitor the player's ability to stay focused on a task. Banana 402i may be the target that the player is supposed to retrieve with the player's avatar. Bee 404j may be a distraction that attacks the player's avatar. Chimpanzee 406j may be the player's avatar, which the player manipulates to retrieve banana 402j. Dogs 408j may be another distraction that attacks the player's avatar. In an embodiment, chimpanzee 406j has to get banana 402j while avoiding attacks from bee 404j and dogs 408j. The degree to which the player is distracted with chasing the bee 404j and/or dogs 408j may indicate the player's ability to stay focused on a task.
The game demands focused attention from the player, because the player needs to remember that the goal may be to get the correct type of bananas despite the distraction of the bees and the dogs (and/or other characters). In an alternative embodiment, the bee and/or dog may attempt to play with, and thereby distract the player's avatar rather than attack the player's avatar.
Technical SkillUnderstanding simple physical phenomenon such as shape, momentum and movement including elements such as wheels, wind, lift, linear movement and cyclical movement can be referred to as technical skills.
Monitoring AlgorithmThe monitoring algorithm involves collecting data while playing and processing the information that measures the development progress of players. The information collected may include general interest and responsiveness information and/or performance information.
Responsiveness information may include whether the player seems to know what to do and/or has mastered aptitudes appropriate for the player's age. Performance information may include how well the player scores of the game.
In step 506 the collected data may be processed, analyzed, and one or more detailed reports of the measured skill sets, and a holistic diagnosis of the player's strengths and weaknesses. In an embodiment, host system 100 combines information gathered from the player playing various games. In an embodiment, data may be collected from every game with embedded monitoring routines 108 or other games using a third party provided game (into which monitoring routines 108 have been incorporated), which may be used for skill assessment that the player plays. In an embodiment reports are generated to include player specific average. Player specific average may be calculated based on the information from all the appropriate games for an age group. Different factors may be weighted differently according to the player's age group, environment, geographic location, language, culture and/or other factors to arrive at a player specific average.
In an embodiment, additional game activity of a player (which may be either directed by a guardian or may not be directed by the guardian) may be tabulated and progress reports may be available to the guardians upon demand, via a user interface that has tools for viewing and/or generating reports.
Game MonitorIn an embodiment, game 602 may be any game. Game 62 has function calls that start a variety of predefined tasks, perform predefined events that during the task, and end of the task. Task1 604, task2 606, and task3 608 are an example of a set of tasks that make up a game. In other embodiments game 602 may have fewer or more tasks than three. Some examples of maybe retrieving an object, entering a sequence of characters into a field, positioning an object in a particular location, selecting an object on the screen, measuring an amount of time between two inputs from the player. Each task and each event is a predetermined function provided by host system 100. The events may be functions that are triggered by certain occurrences. The events may track progress towards completing a task, such as positioning the player's avatar at a location that is closer to an object that needs to be retrieved or may be a function that is triggered by an action that indicates that the player is pursuing a less than optimum path, such as placing the player's avatar at a predetermined location that is further from an object that needs to be retrieved. The host system may give the developer a variety of prewritten functions to select and place into developer's code. Event1 612, event2 614, and event3 616 are examples of functions calls that call a function based on the occurrence of a triggering event that occur during task1 602. End task 618 may be a function call identifying the end of task1 602. In another embodiment, task1 may have fewer or more events. In an embodiment task2 606 may have start task 620. Event1 622, end task 624. In an embodiment task3 608 may have start task 626 and end task 628 without any events.
In an embodiment, the monitoring process may be based on the following. Games have tasks and the player's performance of tasks indicate the skills of the player. A task may have multiple events and include at least a start task event and an end task event and one or more other events. A task may be the current level in a game or a specific task. Each task has different measurable units and achievable ranges. In an embodiment, task1 602, task2 606 and task3 608 may be the tasks in a game used to measure the player's ability.
Each task may include one or more events, the player's performance of the events may be measured. Tasks and/or events may be identified and categorized according to skill sets that the task and/or event is most closely related to. The activities of the player may be associated with the events during the game. Events (in addition to starting a task and ending a task) may include a player's attempt to identify objects, positioning of an object, entering a character into a field. Other quantities that may be monitored and/or assessed are general interest, ability and steadiness, in which the player is handling of a pointing device (e.g., a mouse) is measured and/or evaluated. Start task 610, event1 612, event2 614, event 616, end task 618, start task 620, event1 622, end task 624, start task 626 and end task 628 may be the events that are monitored that may be used for analysis and report generation.
Description 702 lists the description of examples of function calls that may be used as part of monitoring routines 108. The functions may be machine instructions that perform certain routines for monitoring player development. Functions may need one or more inputs to implement the routines and/or may return one or more outputs that result from performing the routines. The column, function name 704, lists the name of function calls that may be added into games 106 (
Row 706 shows the function call that may start the beginning of a task, _root.StartTask. An argument of the start function is the name of the task that is starting. During programming, the programmer may place the name of the task in the field for the name of the task or may place a variable in the field for the name for the task, and the program may automatically assign the variable a value reflecting the name of the task. In an embodiment, the names of the tasks are provided by the host system 100, and are names of predefined functions available as part of the plug-in provided by the host system. Optionally, the start task may start a timer and/or record the start time of the task so that the time that the player took to complete the task may be computed.
Row 708 shows a function call, which when called, calls a function that the end of a task. As with the start function, an argument of the start function is the name of the task that is ending, but also may include a filed indicating the reason that the task ended. During programming, the programmer may place the name of the task in the field for the name of the task or may place a variable in the field for the name for the task, and the program may automatically assign the variable a value reflecting the name of the task that is ending. When the stop of task function is called, the routine may return the name of the task. The program and/or stop task may compute the reason why the task ended. Examples of reasons for stopping a task may be the player completed the task unsuccessfully, completed the task successfully, the player quit the task prematurely (e.g., by ending the game or moving the avatar to a prior event) and/or the player skipped to the next task (which not necessarily be possible in all games). The stop of the task function may also return the time of the end of the task or the duration of time required to complete the task.
Rows 710-716 are function calls that may define events. Row 710 lists function _root.SetScore, which exports a score at the end of the task, level, and/or game identifier to a location where the score may be added to a report. The parameters that may be passed to the function_root.SetScore are name of the task and score value of the task.
Row 712 lists function_root.Identify that identifies an object. The function indicates whether the player properly identified an object. In an embodiment, the object being identified may be one of several predefined generic object types (e.g., a shape, a color, an alphanumeric character, and an animal) provided by host system 100, depending on the object type a different function may be called. The function for identifying an object may have three arguments (or parameters) that may be passed to the function_root.Identify are name of the task, the object that the player is trying to identify, and an indication whether the player performed the object identification successfully or failed (which may be a Boolean variable).
Row 714 lists function_root.PutObject used to indicate that the user placed an object in a particular location. The arguments/parameters for the function_root.PutObject are name of the task within which the object is positioned, name of the object being positioned, and coordinate values of positioning the object. In the game there may be a range of coordinates that are accepted as a correct location. However, host system 100 may use the distance of the position that object was placed to the place where the object is supposed to be placed to compute an accuracy of the user's placement of the object into the object's proper location.
Row 716 lists function_root.Action that is used to grant points to a player according to an estimate of how interested the player is in the game. The points may be positive or negative. The parameters/arguments to the function are the task name and points. Points may be computed based on how often and for what duration of time the player engages in activities that are not related completing the tasks of the game.
Row 718 includes a function for setting the score for a task, row 720 has a function for clearing all tasks and scores from a game, and row 722 has a function for setting the game's name. In an embodiment, the start task (row 706), stop task (row 708), and setting the game's name (row 722) are required in every game.
Game IntegrationGame developers can integrate the monitoring algorithm into their existing games without making changes of the existing game code other than adding the functions calls of monitoring routines 108 (
In step 806, the game developer generates integration code. Integration code may have function calls and code to call game monitor 106. The first two lines of the integration code includes Action Script file which may be part of the client component and the second line passes a game identifier to function_root.Initialize. For example, the first two lines may be
-
- #include “tucoola_include.as”
- _root.Initialize (GAME_ID);
where GAME_ID=<the game identifier>.
A start task routine may be placed at the beginning of every task, which for example may have the syntax
-
- _root.StartTask (TASK_NAME);
To identify an object the function_root.Identify may be used with the task name and the object being identified and an indication of object identification success or failure.
-
- _root.Identify(Task_Name, Object_Name, True/False);
While positioning an object function_root.PutObject can be called with the task name calling the function, the object name and the X, Y, and Z coordinates of the position.
-
- _root.PutObject(Task_Name, Object_Name, X, Y, Z);
Capturing general behavior with the function_root.Action with task name and points. The points can be positive or negative.
-
- _root.Action(Task Name, Points);
To capture a player's score for an event, the function_root.SetScore may be used and may be called several times, and may be called during multiple events, which for example may have the syntax
-
- _root.SetScore (TASK_NAME, SCORE);
An end of the task function finally ends a task or game with stop task, which for example may have the syntax
-
- _root.StopTask (TASK_NAME);
In step 808, integration code may be run. Integration code is combined with the client component and an executable code is created. The executable code may be stored on a game server and may be ready for play.
The client component of the monitoring software collects the information from the games (such as scores, success, object location and more) and calculates score of players in all age groups in various skills based on the monitoring software's score.
The average score and the standard deviation (S) for the age group. The score may be based on the Z value (or the Z value may be used as the score). The Z value is the number of multiples of the standard deviation that the score differs from the average, which is the may be calculated for every child. The Z value may be calculated by subtracting the average for the player's grade and dividing by the standard deviation. In an embodiment, since the result may be a negative number if the player is below average, 5 is then added to the result so that scores are between 0 and 10. For every child, the monitoring system's score is the Z value (e.g., 1.5)+5. Thus the monitoring system's score is the “new score” (which is always between 0-10), and it may compare the average age group (while 5 is always be the average).
In step 910, check may be made if all there are more age groups to calculate system score. If there are more age groups steps 902-910 are repeated. If there are no more age groups to calculate system score, the method stops.
The information in the charts of
Reports may be presented in various fashions. Some report development progression of player; other reports compare average performance of the age group with the player's performance. Some report present actual data while others are analyzed by the system. Reports may be in the form of graphs, pie-charts, bar graphs and/or charts.
The x-axis indicates the game number played and the y-axis indicates the percentage of correct responses. Chart 1100 has graph1 1102, graph2 1104, graph3 1006 and graph4 1008. graph1 1102, a graph of playing game1. Similarly, graph2 1104 may be a graph of playing game2, graph3 1106 may be a graph of playing game3 and graph4 1108 may be a graph of playing game4.
In an embodiment, title 1202 can display the title along with the player's name. Player's profile 1204 can display player's name, age and other statistics such as playing time, weekly average, and date of last visit along with links to more information. Pie chart 1206 displays a pie chart with the distribution of the skill set that was reported. Report1 1208 gives a list of the new concepts or words learned. Report2 1210 lists average skill set of the age group. Report 1212 lists how the system analyzes the player's knowledge.
Screenshot 1300 is an embodiment of a bar graph of current performance comparison of various skills with previous performance of a player, which may be presented to a guardian. Title 1302 displays the player's name and the elapsed time from previous report. Y-axis 1304 of graph 1300 has performance. Current data 1306 may be the performance of player in various skills that appears on the left side. Old data 1308 may be the performance of the player in the previous game in various skills and appears on the right side of the current data. X-axis 1310 may be the x-axis of graph 1300 with various skills.
In an embodiment, title 1502 displays the title of the report. Measured ingredients 1504 lists the various objects or concepts that were tested. Known ingredients 1506 lists the objects or concepts which the player knew. Unknown ingredients 1508 list the objects or concepts that other players of the age group know.
In an embodiment, title 1602 displays the title of the chart. Below average 1604, lists the skills of below average players of the age group. Match average 1606 lists the skills of an average player of the age group. Above average 1608 lists the skills of above average player of the age group. For different skills and games there may be a different range of scores that is considered average.
In an embodiment, title 1802 displays the title of the report and the player's name. Evaluation 1804 describes the player's overall performance and analysis of the performance.
System 1900 illustrates some of the variations of the manners of connecting to the server system. Server system 1904 may include a web server application as well as software for monitoring games, games for users to play, and one or more pages for developers to add games and integrate the monitoring software into the games. Server system 1904 may be directly connected to user system 1910, and may be connected, via network 1912, to user system 1914, user system 1916, user system 1918, and user system 1920. User system 1920 may be connected to system 1904 via user system 1918. Network 1912 may be any one of, or any combination of, one or more Local Area Networks (LANs), Wide Area Networks (WANs), wireless networks, telephones networks, and/or other networks. User systems 1910, 1914, 1916, and 1918 are any system that an end user may use to access server system 1904. For example, user systems 1910, 1914, 1916, and 1918 may be personal computers, workstations, laptop computers, game consoles, handheld network enabled audio/video player, and/or any other network appliance. User system 1920 may be an example of a system that accesses system 1904, via the combination of network 1912 and another system, which in this example may be user system 1918. User system 1922 may be an example of a handheld network wireless device, such as a mobile phone or a handheld network enabled audio/music player, which may also be used for accessing network content. User system 202 may be user systems 1910, 1914, 1916 and 1918. In an embodiment, the developer (or end user) may use any of user systems 1910, 1914, 1916, or 1918.
Machine 2000 may be an example of a system that may be used for any of the computer of server system 1904, user system 1910, user system 1914, user system 1918, user system 1918, user system 1920, and/or user system 1922.
Output system 2002 may include any one of, some of, any combination of, or all of a monitor system, a handheld display system, a printer system, a speaker system, a connection or interface system to a sound system, an interface system to peripheral devices and/or a connection and/or interface system to a computer system, intranet, and/or internet, for example.
Input system 2004 may include any one of, some of, any combination of, or all of a keyboard system, a keypad system, a mouse system, a track ball system, a track pad system, buttons on a handheld system, a scanner system, a microphone system, a connection to a sound system, and/or a connection and/or interface system to a computer system, intranet, and/or internet (e.g., IrDA, USB), for example. Input system 2004, may include an antenna and/or wireless card for making phone calls, linking to local area networks, and/or connecting to a wide area network, such as a telephone system and/or the Internet.
Memory system 2006 may include, for example, any one of, some of, any combination of, or all of a long term storage system, such as a hard drive; a short term storage system, such as random access memory; a removable storage system, such as a floppy drive or a removable drive; and/or flash memory. Memory system 2006 may include one or more machine-readable mediums that may store a variety of different types of information. The term machine-readable medium may be used to refer to any medium capable carrying information that may be readable by a machine. One example of a machine-readable medium may be a computer-readable medium. Memory system 2006 may store one or more machine instructions for implementing the monitoring system, the interface for the developers, an operating system and/or the reports if system 2000 may be an embodiment of system 1904. Memory system 2006 stores machine instructions specific to the system (which is different depending upon whether system 2000 is mobile, iPad, laptop, or other internet device and whether system 2000 is being used as host system 100, the developer's system, or the end-user's system). For example, if system 2000 is an embodiment of system 1922, memory system 2006 may include mobile phone applications such as software for storing and recalling phone numbers.
Processor system 2008 may include any one of, some of, any combination of, or all of multiple parallel processors, a single processor, a system of processors having one or more central processors and/or one or more specialized processors dedicated to specific tasks. For example, processor system 2008 may include one or more Digital Signal Processors (DSPs) in addition to or in place of one or more Central Processing Units (CPUs) and/or may have one or more digital signal processing programs that run on one or more CPU. Processor system 2008 implements the instructions stored in memory system 2006.
Communications system 2012 communicatively links output system 2002, input system 2004, memory system 2006, processor system 2008, and/or input/output system 2014 to each other. Communications system 2012 may include any one of, some of, any combination of, or all of electrical cables, fiber optic cables, and/or means of sending signals through air or water (e.g. wireless communications), or the like. Some examples of means of sending signals through air and/or water include systems for transmitting electromagnetic waves such as infrared and/or radio waves and/or systems for sending sound waves.
Input/output system 2014 may include devices that have the dual function as input and output devices. For example; input/output system 2014 may include one or more touch sensitive screens, which display an image and therefore are an output device and accept input when the screens are pressed by a finger or stylus, for example. The touch sensitive screens may be sensitive to heat and/or pressure. One or more of the input/output devices may be sensitive to a voltage or current produced by a stylus, for example. Input/output system 2014 may be optional, and may be used in addition to or in place of output system 2002 and/or input device 2004.
Extensions and AlternativesEach embodiment disclosed herein may be used or otherwise combined with any of the other embodiments disclosed. Any element of any embodiment may be used in any embodiment.
Although the invention has been described with reference to specific embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the true spirit and scope of the invention. In addition, modifications may be made without departing from the essential teachings of the invention.
Claims
1. A method of providing analysis of a performance in a game by a player comprising:
- providing one or more games stored on a hardware system, the hardware system including one or more machines having a processor system with one or more processors, and one or more machine readable media with in a storage unit;
- monitoring performance of a player in the game;
- storing information resulting from the monitoring the performance in the game and a player profile in the storage unit, the player profile including at least an age group and a gender;
- analyzing the information to determine a skill level of the player;
- generating a report based on the analyzing of the game score and storing the report in the storage unit; and
- providing an interface to a guardian of the player, that provides the report to the guardian.
2. The method of claim 1, further comprising providing a software to a game developer that plugs into a development environment, and after being plugged in adds routines for monitoring a player's performance to the development environment, therein allowing the developer to add the routines to the game.
3. The method of claim 2, the one or more machine instructions to track the one or more actions of the player include at least starting a task, ending a task, export score at the end of a task, export score at the end of a level, export score at the end of a game, identify an object and position an object.
4. The method of claim 3, the sending a copy of the game to a machine of the player;
- the monitoring of the performance of the player including receiving results of the player playing the game.
5. The method of claim 3, running the game on the hardware system.
6. The method of claim 1, the one or more games have one or more tasks, the performance of the tasks are indicative of one or more skills including attention, multidimensional perception, planning and organization.
7. The method of claim 1, the one or more games have one or more tasks, the performance of the tasks are indicative of one or more skills including at least linguistic acquisition, arithmetic skill, audio memory, visual memory, planning and organization, multidimensional perception, musical skill, hand-eye coordination, shape identification, color identification, attention, and skill improvement in games played repeatedly.
8. The method of claim 1, the one or more games have one or more tasks, each of the tasks have at least a start task event calling a function for monitoring performance and a stop task event ending the function that monitors performance, which returns a reason why the task ended.
9. The method of claim 1, the one or more games have one or more include at least one game having one or more tasks that include at least an event that calls a function that determines one or more events including a location of pointing and a placement of an object.
10. The method of claim 1, the one or more games have one or more tasks, the tasks have one or more events that call a function for determining whether a long stop occurred.
11. The method of claim 1, the report having a pie chart of the performance in the game indicative of one or more skills.
12. The method of claim 1, the report listing new concepts and words learned and an average of a skill of the player in the age group.
13. The method of claim 1, the report showing a bar graph comparing a current performance to a previous performance for a plurality of score skills.
14. The method of claim 1, the report listing at least a plurality of concepts tested in the game, and indicating which of the plurality of concepts the player knew and which of the plurality of concept the player did not know.
15. The method of claim 1, the report listing a summary of the skills tested, comparing player performance with the average of the performance indicative of skills of the player in the age group.
16. The method of claim 1, the analyzing the game score includes selecting the player age group, discarding outlying scores of the performance in the game to calculate system score.
17. The method of claim 1, further comprising:
- providing a software to a game developer that plugs into a development environment, and after being plugged in adds routines for monitoring a player's performance to the development environment, therein allowing the developer to add the routines to the game;
- the one or more machine instructions to track the one or more actions of the player include at least starting a task, ending a task, export score at the end of a task, export score at the end of a level, export score at the end of a game, identify an object and position an object;
- the hardware system further comprising a web server;
- the one or more games have one or more tasks, the performance of the tasks are indicative of one or more skills including attention, multidimensional perception, planning and organization;
- the one or more games have one or more tasks, the performance of the tasks are indicative of one or more skills including at least linguistic acquisition, arithmetic skill, audio memory, visual memory, planning and organization, multidimensional perception, musical skill, hand-eye coordination, shape identification, color identification, attention, and skill improvement in games played repeatedly;
- the one or more games have one or more tasks, each of the tasks have at least a start task event calling a function for monitoring performance and a stop task event ending the function that monitors performance, which returns a reason why the task ended;
- the one or more games have one or more include at least one game having one or more tasks that include at least an event that calls a function that determines one or more events including a location of pointing and a placement of an object;
- the one or more games have one or more tasks, the tasks have one or more events that call a function for determining whether a long stop occurred;
- the report having a pie chart of the performance in the game indicative of one or more skills;
- the report listing new concepts and words learned and an average of a skill of the player in the age group;
- the report showing a bar graph comparing a current performance to a previous performance for a plurality of score skills;
- the report listing at least a plurality of concepts tested in the game, and indicating which of the plurality of concepts the player knew and which of the plurality of concept the player did not know;
- the report listing a summary of the skills tested, comparing player performance with the average of the performance indicative of skills of the player in the age group;
- the analyzing the game score includes selecting the player age group, discarding outlying scores of the performance in the game to calculate system score.
18. A machine-readable medium carrying one or more sequences of instructions for implementing a method for providing analysis of performance of a player, the method comprising:
- providing one or more games stored on a hardware system, the hardware system including one or more machines having a processor system with one or more processors, and one or more machine readable media with in a storage unit;
- monitoring performance of a player in the game;
- storing information resulting from the monitoring the performance in the game and a player profile in the storage unit, the player profile including at least an age group and a gender;
- analyzing the information to determine a skill level of the player;
- generating a report based on the analyzing of the game score and storing the report in the storage unit; and
- providing an interface to a guardian of the player, that provides the report to the guardian.
19. A system with one or more machines, the machine comprising:
- a processor system including one or more processors;
- a storage system having one or more machine readable media, storing thereon one or more instructions for implementing an application that includes one or more instructions that cause the processor system to perform a method including at least:
- providing one or more games stored on a hardware system, the hardware system including one or more machines having a processor system with one or more processors, and one or more machine readable media with in a storage unit;
- monitoring performance of a player in the game;
- storing information resulting from the monitoring the performance in the game and a player profile in the storage unit, the player profile including at least an age group and a gender;
- analyzing the information to determine a skill level of the player;
- generating a report based on the analyzing of the game score and storing the report in the storage unit; and
- providing an interface to a guardian of the player, that provides the report to the guardian.
International Classification: A63F 9/24 (20060101);