Quiz-nested quiz game and system therefore

One detailed embodiment of a quiz-nested quiz game and system therefore, played by one or by one or more players. Each quiz comprises one information fragment for its answer and one for each clue. A unique identifier is assigned to the information fragments. The uniquely identified information fragments are associated into a quiz structure, wherein non-terminal members are an answer in one quiz and clue in an associated quiz. A system means comprises exposure, guessing and validation means. A user interface is provided. Clues in one quiz can be selectively exposed to the player(s), who can provide a guess at the associated answer. The guess is validated, and, depending on the validation result, the associated answer is exposed as a clue in a different, associated quiz. Other embodiments are described and shown.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

This nonprovisional application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/960,532, filed Oct. 3, 2007.

FEDERALLY SPONSORED RESEARCH

Not Applicable

SEQUENCE LISTING OR PROGRAM

Not Applicable

BACKGROUND

1. Field of Invention

This invention relates to skill games. More specifically, this invention relates to a new type of game and system therefore for one or multiple players in a computer game, physical media, mixed media, or television game show format.

2. Prior Art

A discussion of the prior art of which the present inventor is aware, and its differences and distinctions from the present invention, is provided below.

A list of the simpler word puzzles will include “guess-the-phrase” (hangman) and question-and-answer trivia. The solution of such puzzles follows a simple logical route, whereby one or more clues lead to the puzzle answer. Other examples of simple puzzles include prototypical anagrams and “Name That Tune” type musical quizzes. U.S. Pat. No. 5,123,658 to Elfanbaum and Shlomo (1992) describes a concealed-picture puzzle.

In the classical party game “charades’, a player offers clues to a word or a phrase by pantomiming the words or similar sounding words. A player may also decompose words into characters and sign the characters, or use a combination of methods.

Intersecting row and column puzzles such as crossword puzzles and Sudoku require the solution of all the word or number strings that form a defined puzzle. Solved rows or columns offer clues to other rows and columns, but there is no precedence between them. Such puzzles are progressively solved and are not hierarchical. The main solution to an intersecting row and column puzzle is arbitrarily related to its constituent rows and columns and has no independent meaning. Also, it cannot be derived from only a subset of the solved rows and columns composing its matrix. The prior art also includes many games which combine two or more of the fundamental puzzle types.

U.S. Patent Publication No. 20060175756 of Watson and Riley combines the classical crossword with the anagram and can include a bonus anagram constituted from circled letters in the solved crossword. The final bonus anagram in not a top-level solution but is an additional puzzle that cannot be solved until the crossword is complete. The bonus anagram is not meant to be solved from only a subset of the underlying clues.

U.S. Pat. No. 6,308,954 to Breeler (2001) and U.S. Patent Publication Nos. 20050218593 of Petry and 20020117802 of Seaberg combine the classical crossword with word search puzzles. While infusing novelty, these ideas do not make the main puzzle more hierarchical than a typical crossword.

Other games have combined some of the simpler skill games previously mentioned with games of chance. The board game TRIVIAL PURSUIT® combines question and answer trivia with die rolling and random question selection. The television show WHEEL OF FORTUNE® combines ‘hangman’ with a ‘wheel of fortune’.

U.S. Pat. No. 5,860,653 to Jacobs (1999) discloses a game for television or computer play with rows of anagrams at one anagram per row, with their row positions fixed relative to one another. When all the anagrams are solved, a word associated with each of the solved anagrams is revealed vertically through them.

Jacobs does not attach special significance to the solution of the vertical word as being the goal that ends the game. It seems apparent that before all the anagrams are solved, the vertical word will become obvious and thereby provide clues to the remaining anagrams, making this puzzle somewhat analogous to a crossword puzzle.

Another category is the ‘quest’ games. Examples include scavenger hunts and role playing board games such as DUNGEONS & DRAGONS® and online games such as EVERQUEST® and WORLD OF WARCRAFT™. In these games, real or virtual articles are accumulated by the participants during an expedition. These games may include locational clues such as an easter egg hunt, and may culminate in a real or virtual reward, or they may have intermediary rewards and continue indefinitely.

Quest-type games sometimes encompass ‘clue finding’, that is, picking up clues along a journey, and puzzle solving. Some games are spectator oriented, such as the children's television show BLUE'S CLUES™, which combines clue finding with a final puzzle solution. Variations include traditional ‘murder mystery’ interactive theatre and Alternate Reality Games (ARG).

U.S. Pat. No. 5,679,075 to Forrest, et al. (1997) discloses an interactive scavenger hunt combined with puzzle solving in the context of a narrative supplied by a prerecorded audio visual plot. Game participants solve “visual puzzles”, “physical tricks” or “performer-based puzzles” in order to obtain clues, called “information fragments”, as well as “directional clues”. There is no indication that an information fragment is itself the answer to a preceding puzzle. It seems it is supplied as a reward for solving a preceding puzzle, as reinforced within FIG. 5 of the application of Forrest.

In Forrest, et al., once the information fragments are obtained, the participants collectively solve a “meta-puzzle”, most elaborately shown as a two-stage puzzle in FIG. 5 of the application of Forrest. In the puzzle, adjacent sets of information fragments (clues) are used to solve riddles, the solutions to which are thematically related. It is noted that the final puzzle solution is not actually derived from the answers in the preceding stage. Instead, solving all of the preceding puzzles qualifies the participants to call a telephone number. Next, an operator answers and asks the participants to recall a visual message that was presented earlier in the tour. The correct answer is the final puzzle solution. The concept of a visual recall final puzzle in Forrest. implies the participants have been exposed to the entire tour. As well, Forrest does not impose an hierarchical organization since the final puzzle answer is not itself solved from clues obtained at an immediately preceeding stage.

Forrest does not indicate a quiz database. Rather, having participants manually draw clues as indicated would resist attempts to systematically organize and retrieve quiz information. Furthermore, the puzzles are thematically related. This means that puzzles would have access to only a subset of all possible quizzes that could lead to the final solution.

As a consequence of both its logical structure and proposed embodiments, Forrest would require considerable effort and expense to generate each complete puzzle or tour, making it a novelty as opposed to a game to be played day after day. Gridlock could result since it seems that either all or virtually all the available clues would have to be found in order to have a chance to complete the final puzzle. If a clue were missed, such as the ‘recall’ clue, participants might have to tediously renavigate parts of the tour. Gridlock could also arise if participants could not solve a necessary riddle, or if they were to miss a time limit.

The prior art contains examples of puzzles featuring progressively revealed clues. U.S. Pat. No. 6,318,722 to Shafer (2001) discloses a game wherein clues are revealed for sets of words that share a common feature. U.S. Pat. No. 6,935,945 to Orak (2005) discloses an Internet game show version of a concealed-picture puzzle. U.S. Pat. No. 7,275,746 to Jensen (2007) discloses a physical media embodiment of a crossword-type puzzle with an opaque cover removably disposed over each of the concealed completed letter positions. These puzzles lack more than one level of quiz-solving and are not hierarchical.

U.S. Pat. No. 5,221,094 to Hanson (1993) discloses a physical media master puzzle concealed behind opaque cover up puzzle pieces. The puzzle pieces are categorized on the basis of color. The pieces are removed on the basis of participants successfully answering question and answer trivia-quizzes. Trivia-quizzes are displayed on accompanying physical media cards. One embodiment is a master puzzle that when solved is a pictorially depicted phrase. The removal of each puzzle piece reveals between one to four letters, or portions of letters. Since discreet words or letters are not revealed, nothing more than two levels of puzzle-solving is intonated.

With Hanson's invention, trivia answers are not themselves clues to a higher level puzzle, but rather their solution offers the reward of being able to remove a puzzle piece. That is, the answer to a quiz is disconnected from the clue that is supplied to the master puzzle. Hanson, like Forrest, does not anticipate an embodiment that would take advantage of a quiz database. Furthermore, the information supplied on removal of each arbitrarily shaped puzzle piece is indiscreet. This indicates that Hanson's invention would resist attempts to systematically organize and retrieve sub-quiz information.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.

SUMMARY

Described are embodiments of a new type of quiz called a “Quiz-Nested Quiz” or “QNQ”. Described as a game, these embodiments are also of potential application in fields including education and testing. Embodiments comprise a plurality of quizzes each comprised of an answer and one or more clues. An answer obtained by solving a “lower” quiz results in a clue being revealed to a one-higher quiz.

Embodiments comprise a repeating pattern of clue and answer wherein the correct response to a clue, or question, supplies an answer which yields a clue in a one-higher quiz. Clues and answers are organized into clue/answer pairs. There can be multiple clue/answer pairs terminating in the same answer. One or more clue/answer pairs terminating in the same answer is described as a quiz or nested-quiz or sub-quiz.

The detailed embodiment describes how clue/answer pairs can be related to one another to provide an hierarchical, multi-level logical structure. In the detailed embodiment, the answer to a one-lower clue/answer pair is, or is equivalent to, a clue to its one-higher clue/answer pair. Clues and answers can be represented as uniquely identified information fragments, called “nodes”. A single node can therefore have a dual purpose. It can be an answer in one quiz, and a clue in another. In other embodiments, not detailed, the answer to a one-lower quiz is not necessarily a clue to a one-higher quiz, but rather its solution reveals a clue to the one-higher quiz. The detailed embodiment shows four node-levels encompassing three-levels of quiz solving.

The quiz structure in the detailed embodiment is described as a “quiz-tree”, comprising associated nodes. A quiz-tree contains quiz sub-structures, including quiz chains. A quiz chain is comprised of a sequential chain of three or more nodes. Quiz chains help describe the underlying structure of a quiz-tree. Quiz chains are a basic quiz structure that can be used to describe many embodiments.

DRAWINGS Figures

FIG. 1 portrays a logical structure of a sample iteration of an embodiment of a QNQ with descriptive symbols described in the specification.

FIG. 2 depicts a part of the user interface for an embodiment of a QNQ called the “phrase component”. In FIG. 2, the phrase component is depicted at or near the beginning of a “round”, in a mode called “navigation mode”. A sample phrase is initially masked.

FIG. 3 depicts a part of the user interface called a “quiz-and-word-guessing-selector component”, which takes the form of a computer menu.

FIG. 4 depicts a part of the user interface called a “trivia-quiz component” for typed-text entry of a trivia-quiz answer attempt.

FIG. 5 depicts the trivia-quiz component introduced in FIG. 4 with a sample guess input by a player and ready to be submitted.

FIG. 6 depicts the phrase component as it might look after the first clue on a “quiz-able-word” has been found.

FIG. 7 depicts a one-item computer menu displayed over the phrase component based on a player initiated event. The menu gives the player in “control” the option to “buy” a “filler-word”.

FIG. 8 depicts a dialog that allows a player to confirm an intention to “buy a word”.

FIG. 9 depicts the phrase component with two clues revealed. One clue was derived on a quiz-able-word by solving a trivia-quiz. The other clue is represented by a revealed filler-word, and was obtained by “buying a word”.

FIG. 10 depicts the phrase component in “quiz-able-word-guessing mode” as it might look with two quiz-able-word clues revealed and with a player in the process of typing in the solution to the first quiz-able-word.

FIG. 11 depicts the phrase component in phrase-guessing mode for the sample phrase. Previously, two clues were revealed for one of the two quiz-able-words, that quiz-able-word was solved, a filler-word was “bought”, and two more clues for the other quiz-able-word were revealed. A player is attempting to complete the phrase by inputting the three words remaining in its solution.

FIG. 12 depicts the phrase component in phrase-guessing mode, with the remaining unrevealed words typed within their respective fields. The attempted solution is ready to be submitted.

FIG. 13 depicts the phrase component at the end of a round, with the phrase solved.

FIG. 14 uses the nomenclature introduced in FIG. 1. FIG. 14 depicts a logical structure of a sample iteration of an embodiment of a QNQ, including information about the clues revealed to solve the sample iteration.

FIG. 15 depicts a user interface flow diagram.

FIG. 16 depicts a system architecture for game delivery.

FIG. 17 depicts a class diagram describing the main features of the embodiment.

FIG. 18 shows a sequence diagram for displaying a quiz-and-word-guessing-selector GUI component.

FIG. 19 shows a sequence diagram for displaying a trivia-quiz GUI component.

FIG. 20 shows a sequence diagram for attempting a trivia-quiz.

FIG. 21 shows a sequence diagram describing part one of the sequence for a correct trivia-quiz attempt.

FIG. 22 shows an update-score sequence diagram.

FIG. 23 shows a sequence diagram describing part two of the sequence for a correct trivia-quiz attempt.

FIG. 24 shows a sequence diagram for an incorrect trivia-quiz attempt.

FIG. 25 shows a sequence diagram describing a player passing on making an attempt at a trivia-quiz.

FIG. 26 shows a sequence diagram for a quiz-able-word attempt.

FIG. 27 shows a sequence diagram for a correct quiz-able-word attempt.

FIG. 28 shows a sequence diagram for an incorrect quiz-able-word attempt.

FIG. 29 shows a sequence diagram for buying a filler-word.

FIG. 30 shows a sequence diagram for a phrase attempt.

FIG. 31 shows a sequence diagram of an incorrect phrase attempt.

FIG. 32 shows a sequence diagram for a correct attempt at solving a phrase.

FIGS. 33-40 show entity relationship diagrams describing a quiz-generation schema. These schema comprise part of a quiz database and are used to build quiz-trees. They also provide quiz data during game runtime.

FIG. 41 shows an entity relationship diagram describing a player entity and its relationship to a tree entity.

FIGS. 42-45 show sequence diagrams for building quiz-trees, based on the quiz-generation schema shown in FIGS. 33-40.

FIG. 46 shows a sequence diagram for initializing a guess-the-phrase-phrase-node object.

FIGS. 47 and 48 show sequence diagrams for initializing a guess-the-phrase-word-node object.

FIGS. 49 and 50 show sequence diagrams for initializing a trivia-quiz-answer-node object.

FIG. 51 shows a sequence diagram for initializing a trivia-quiz-question-node object.

FIG. 52 introduces “round” and “match” entities.

FIG. 53 shows a sequence diagram for initializing a match.

FIGS. 54 and 55 show sequence diagrams for initializing a round.

FIG. 56 depicts the quiz-and-word-guessing-selector component with an additional menu option for a “drill-down clue”.

FIG. 57 depicts the phrase component in navigation mode with an embedded quiz that is applicable to one of the quiz-able-words in the top-level phrase.

FIG. 58 depicts the quiz-and-word-guessing-selector component as in might appear for the quiz-able-word in the embedded quiz. Additional menu items are displayed to support additional features and quiz types.

FIG. 59 depicts a form of the trivia-quiz component adapted for multiple choice input of a trivia-quiz answer attempt.

FIG. 60 depicts the phrase component as it momentarily appears after solution of the embedded quiz.

FIG. 61 depicts the phrase component in navigation mode with a quiz-able-word clue that has been revealed by the solution of the embedded quiz.

FIG. 62 depicts a “concealed-picture-quiz component”.

FIG. 63 depicts the phrase component in navigation mode with an embedded quiz. The embedded quiz has an associated anagram clue.

FIG. 64 depicts the phrase component with an embedded quiz in word-guessing mode and a player in the process of typing an attempt.

FIG. 65 depicts the phrase component in navigation mode in a design variant that displays unsolved quizzes within the phrase component. One clue has been found for a higher-level quiz-able-word, and there are three clues for a lower-level embedded quiz.

FIG. 66 depicts the phrase component in navigation mode where the embedded quiz itself has an embedded drill-down quiz consisting of a single quiz-able-word.

FIG. 67 depicts the quiz-and-word-guessing-selector component as it appears over the embedded-embedded drill-down quiz-able-word.

FIG. 68 depicts the phrase component in navigation mode with some clues obtained for the embedded-embedded drill-down quiz-able-word.

FIG. 69 depicts the phrase component in navigation mode in which the embedded-embedded drill-down quiz-able-word has been solved. Its solution has become a clue to the first embedded quiz-able-word.

FIG. 70 depicts a hypothetical logical structure of the solution path that was partially described by FIGS. 68 and 69.

FIG. 71 depicts the quiz-and-word-guessing-selector component as it appears over a quiz-able-word in the phrase component in navigation mode. The menu includes items to support a drill-down ‘guess-the-phrase’ quiz type.

FIG. 72 depicts the phrase component in navigation mode with an embedded guess-the-phrase style of quiz. Quizzes for the embedded quiz are available for the entire phrase, and for its quiz-able-words.

FIG. 73 depicts an expanded view of the embedded guess-the-phrase quiz from FIG. 72.

FIG. 74 depicts a menu of one item for selecting a quiz applicable to the embedded guess-the-phrase quiz.

FIG. 75 depicts the quiz-and-word-guessing-selector component in navigation mode with the embedded guess-the-phrase style quiz which itself has an applicable embedded, or ‘embedded-embedded’ guess-the-phrase style quiz.

FIG. 76 depicts the embedded-embedded guess-the-phrase style quiz introduced in FIG. 75, in an expanded view.

FIG. 77 depicts a quiz-selector menu that appears over the embedded-embedded guess-the-phrase quiz, and which can be used to select a phrase-level quiz.

FIG. 78 depicts a “video quiz” user interface component.

FIGS. 79 thru 87 and FIG. 89 depict a “quiz navigator” component of the user interface in a “branch-view” mode. The quiz navigator allows players to view information about a quiz-tree, and facilitates solving a quiz-tree and its component quizzes. The quiz navigator borrows the nomenclature for describing a QNQ introduced in FIG. 1.

FIG. 88 depicts a player interaction with the quiz navigator menu to ‘show all clues’.

FIG. 90 depicts a player interaction with the quiz navigator menu to change the view from branch-view to “folder-view” mode.

FIGS. 91 thru 94 depict the quiz navigator as it might be used to navigate a particular quiz-tree domain in folder-view mode.

FIG. 95 depicts components of the user interface as they appear in an integrated display. The integrated display includes the phrase component with a title bar, the quiz navigator, a score and control component, and a match parameters viewing component. Other display components are minimized and available for selection.

REFERENCE NUMERALS

 95 hand-pointer cursor  96 text cursor  97 field border  98 insertion cursor  99 arrow cursor  110 node-level one  112 node-level two  114 node-level three  116 node-level four  118 node-level five  120 node-level six  130 node-level “n”  140 symbol for top-level answer  141 symbol for an association of a revealed clue to an answer  142 symbol for a revealed node  144 symbol for cognitively solved node  145 symbol for an association of an  146 symbol for unrevealed node unrevealed clue to an answer  146A an unsolved node  210 phrase component border  212 phrase section  214 word-clue section  216A solve-phrase button  216B submit-guess button  216C clear-guess button  216D cancel-guess button  216E point-deduction warning  216F finished label  218A first filler-word  218A1 unrevealed first filler-word, with attached hyperlink  218A2 unrevealed first filler-word,  218A4 response to the first filler-word without attached hyperlink  218A5 revealed first filler-word  218B second filler-word  218B1 unrevealed second filler-word,  218B5 revealed second filler-word with attached hyperlink  218C third filler-word  218C1 unrevealed third filler-word, with attached hyperlink  218C2 unrevealed third filler-word,  218C4 response to the third filler- without attached hyperlink word  218C5 revealed third filler-word  218D first filler-word  218E second filler-word  220A first quiz-able-word  220A1 unrevealed first quiz-able-  220A4 response to the first quiz-able- word, with attached hyperlink word  220A5 revealed first quiz-able-word  220B second quiz-able-word  220B1 unrevealed second quiz-able-  220B2 unrevealed second quiz-able- word, with attached hyperlink word, without attached hyperlink  220B3 second quiz-able-word in a  220B4 response to the second quiz- guessing mode able-word  220B5 revealed second quiz-able-  220C1 unrevealed first quiz-able- word word, with hyperlink  220D1 unrevealed second-quiz-able-  220E1 unrevealed first quiz-able- word, with hyperlink word, with hyperlink  220F1 unrevealed second quiz-able-  222 label indicating clue section word, with hyperlink  222B label indicating word-clue  228 empty cell section  230A first quiz-able-word-clue cell  230A1 first quiz-able-word's first clue  230A2 first quiz-able-word's second  230B second quiz-able-word-clue clue cell  230B1 second quiz-able-word's first  230B2 second quiz-able-word's clue second clue  230C first quiz-able-word-clue cell  230D second quiz-able-word-clue cell  230E first quiz-able-word-clue cell  230F second quiz-able-word-clue cell  230G1 first quiz-able-word's first clue  240 embedded quiz  242A solve word button  242B submit-guess button  242C clear-guess button  242D pass button  244A1 unrevealed quiz-able-word,  244A4 response to quiz-able word with attached hyperlink  244A5 revealed quiz-able-word  246 point-deduction warning  248 label indicating word-clue  250 quiz-able-word-clue cell section  252 clue to higher level quiz-able-  254 anagram clue to embedded word quiz  256 quiz question  258 unsolved picture puzzle “clue”  260 embedded-embedded drill  262A solve word button down quiz  264A1 unrevealed quiz-able-word  264A5 revealed quiz-able-word with attached hyperlink  266 label indicating word-clue  268 quiz-able-word-clue cell section  270 clue “Shrek”  272 clue “The Hobbit”  274 clue “Bruce Lee”  280 embedded drill down quiz  282 phrase-clue section  283 phrase clue section  284 hyperlink to phrase clue(s)  285 hyperlink to phrase clue(s)  286 phrase clue-clue cell  287 phrase clue-clue cell  290 embedded-embedded drill  310 top-level menu down quiz  312 word-guess menu option  314 find-a-clue menu option  320 submenus  322 trivia submenu  324 drill-down clue submenu  325 drill-down clue flyout submenu  330 quiz submenu  332A television quiz-category menu option  332A1 number of quizzes in the  332B movies quiz-category menu “television” category option  332C music quiz-category menu  332D sports quiz-category menu option option  338 buy word menu option  340 top-level menus  342 guess-word menu  344 find-a-clue menu  346 cancel-drill-down menu  350 flyout menu  352 trivia-quiz menu  354 concealed-picture menu  356 anagram menu  357 drill-down-clue menu  358 sound-clip menu  359 video-clip menu  360 trivia-quiz submenus  362A television-quiz-category-menu  362B movies-quiz-category-menu option option  362C music-quiz-category-menu  362D sports-quiz-category-menu option option  370 top-level menus  372 guess-word menu  374 find-a-clue menu  376 cancel-drill-down menu  380 flyout menu  382 trivia-quiz menu  384 concealed-picture menu  386 anagram menu  388 drill-down-clue menu  390 trivia-quiz submenus  392A television-quiz-category-menu  392B movies-quiz-category-menu option option  392C music-quiz-category-menu  392D sports-quiz-category-menu option option  393 drill-down clues  394A television-quiz-category-menu option  394B movies-quiz-category-menu  394C music-quiz-category-menu option option  394D sports-quiz-category menu  396 movies-quiz-category-menu option option  397 menus  398A concealed-picture menu  398B sound-clip menu  398C video-clip menu  398D text-clue menu  410A quiz heading  410A1 trivia-quiz-category  410A2 quiz number in the category  410A3 total number of available  410B quiz heading quizzes in the category  410C quiz heading for concealed-  412A1 quiz question picture puzzle  412A2 quiz question  412A3 quiz question  412A4 quiz question  412B1 quiz question  412C concealed-picture puzzle  414A answer label  414B guess-the-picture label  416 answer-attempt textbox  416A answer-attempt text  416C answer-attempt text  417 multiple choice options section  417A multiple choice option  417B multiple choice option  417C multiple choice option  417D multiple choice option  418 point-deduction warning  420 submit button  422 clear-answer button  424 pass-guess button  430 remove-a-puzzle-piece label  432 spinner with label  434 submit button  436 pass button  470 answering-turn-display  472 player column heading component  474A player name  474B player name  474C player name  476 alarm clock icon  478 “next” indicator  480 a number of seconds  482 “turn” column heading  510 word-cost warning label  512 word-cost message  514 “yes” button  516 “no” button  610 heading for video clip quiz  620 video clip player  630 guess button  632 pass button  634 replay button  636 next clip button  638 close button  710 title bar  720 menu bar  722 view menu  724 options menu  725 “Show Selected Clues . . . ”  726 “Show All Clues . . . ” menu menu item item  727 “Branch View . . . ” menu item  728 “Folder View . . . ” menu item  730 navigation device  740 phrase clue  750 clue to first quiz-able-word  752 clue to second quiz-able-word  760A text bubble for phrase clue 740  760B text bubble for clue to first quiz-able-word 750  760C text bubble for clue to second  760D text bubble for second quiz- quiz-able-word 752 able-word 220D  760E text bubble for first quiz-able-  760F text bubble 220A for first quiz- word's first clue 230A1 able-word  760G text bubble for sample top-  760H text bubble for first quiz-able- level phrase 1410 word 220C  761 first masked word of text  762 second masked word of text bubble 760E bubble 760E  765 quiz navigator cross-hair  770 folder icon and name for sample top-level phrase 1410  772 folder icon and name for first  774 folder icon and name for filler-word 218A second filler-word 218B  776 folder icon and name for third  780 folder icon and name for first filler-word 218C quiz-able-word 220A  780A open folder icon and name for  782 folder icon and name for first first quiz-able-word 220A quiz-able-word's first clue 230A1  782A open folder icon and name for  784 folder icon and name for first quiz-able-word's first clue phrase clue 740 230A1  786 folder icon and name for first  786A open folder icon and name for quiz-able-word 220C first quiz-able-word 220C  787 folder icon and name for clue  788 folder icon and name for to first quiz-able-word 750 second quiz-able-word 220D  788A open folder icon and name for  790 folder icon and name for second quiz-able-word 220D second quiz-able-word 220B  791 “plus” (“+”) sign  789 folder icon and name for clue to second quiz-able-word 752 1420A Categories for word “fly” 1420A1 sports category 1420A2 movies category 1420A3 music category 1420A4 television category 1420B Categories for word “ointment” 1510 phrase component in 1520 quiz-and-word-guessing- navigation mode selector component, find-a- clue option 1530 quiz-and-word-guessing- 1540 phrase component in phrase- selector component, guess- guessing mode word option 1550 buy filler-word menu, and 1560 trivia-quiz component confirmation 1570 phrase component in word- 1580 phrase component in finished guessing mode mode 1590 end of a round 1610 clients 1612 desktop computer 1614 notebook or sub notebook computer 1616 handheld gaming device 1618 cell phone/PDA with gaming capabilities 1630 Internet access 1640 the Internet 1650 server side components 1652 web server 1654 application server 1656 database server 1658 quiz database and associated 1670 Internet connection schema 1672 network connection 1674 network connection 1676 database management 1709 clock (“Clock”) class 1710 trivia-quiz-category 1711 node (“Node”) class (“TrivQuizCat”) class 1712 tree (“Tree”) class 1713 trivia-quiz-question (“TrivQuizQues”) class 1714 guess-the-phrase-phrase 1715 round (“Round”) class (“GuessThePhrPhr”) class 1716 trivia-quiz-answer 1717 guess-the-phrase-word (“TriviaQuizAnswer”) class (“GuessThePhrWd”) class 1718 match (“Match”) class 1719 game (“Game”) class 1720 player (“Player”) class 1721 turn-GUI (“TurnGUI”) class 1724 control-and-score-GUI 1725 trivia-quiz-GUI (“Cntl&ScoreGUI”) class (“TriviaQuizGUI”) class 1726 quiz-and-word-guessing- 1727 buy-filler-word-menu-GUI selector-GUI (“BuyFillerWdMenuGUI”) (“Q_W_GuessSelGUI”) class class 1728 word-guessing mode-GUI 1729 navigation-mode-GUI (“WdGuessingModeGUI”) (“NavModeGUI”) class class 1730 phrase-guessing-mode-GUI 1731 finished-mode-GUI (“PhrGuessingModeGUI”) (“FinishedModeGUI”) class class 1732 phrase-component-GUI 1740 controller class (“PhraseComponentGUI”) class 1750 aggregation indicating the 1751 aggregation representing a trivia-quiz-question class child node referencing zero-to- referencing the trivia-quiz- one parent nodes category class with multiplicities of one and zero- to-many 1752 aggregation representing a 1753 aggregation indicating the tree parent node referencing zero- class referencing the node class to-many child nodes with multiplicities of many and one 1754 aggregation indicating a round class referencing the tree class with multiplicities of one and one. 1755 association between game 1756 aggregation indicating the class and tree class game class referencing the trivia-quiz-question class 1757 aggregation indicating that a 1758 aggregation indicating that a trivia-quiz-question class trivia-quiz-answer class instance is a child of exactly instance is a parent to exactly one trivia-quiz-answer class one trivia-quiz-question class instance instance. 1759 generalization of 1713 by 1711 1760 generalization of 1716 by 1711 1761 generalization of 1717 by 1711 1762 aggregation indicating that a trivia-quiz-answer class instance is a child of exactly one guess-the-phrase-word class instance 1763 aggregation indicating that a 1764 aggregation indicating that a guess-the-phrase-phrase class guess-the-phrase-word class instance is a parent of one-to- instance is the child of exactly many guess-the-phrase-word one guess-the-phrase-phrase class instances class instance 1765 aggregation indicating a game 1766 aggregation indicating a match class referencing a guess-the- class referencing a player class phrase-phrase class with with multiplicities of one-to- multiplicities of one and one many and one. 1767 association between the game 1768 association between the game class and the match class with class and the round class with multiplicities of one and one multiplicities of one and one- to-many 1769 aggregation indicating the 1770 aggregation indicating that a game class referencing the guess-the-phrase-word class trivia-quiz-answer class instance is a parent of zero-to- many trivia-quiz answer class instances 1771 aggregation indicating the 1772 generalization of 1714 by 1711 game class referencing the guess-the-phrase-word class 1773 aggregation indicating a match 1774 aggregation indicating the class referencing the round game class referencing the class with multiplicities of player class with multiplicities one-to-many and one of one-to-many and one 1775 aggregation indicating the 1776 association between game game class referencing the class and turn-GUI class clock class with multiplicities of one and one 1777 association between game 1778 aggregation indicating the class and control-and-score- round class referencing the GUI class player class with multiplicities of one-to-many and one 1779 association representing all of 1780 association showing the the associations between the controller class accessing the controller class and classes game class 1725 through 1730 1781 association between game 1782 association between the game class and finished-mode-GUI class and the trivia-quiz-GUI class class with multiplicities of zero-to-many and one 1783 association between the game 1784 association between the game class and navigation-mode- class and phrase-guessing- GUI class mode-GUI class 1785 association between the game 1786 association between the game class and word-guessing- class and the quiz-and-word- mode-GUI class guessing-selector-GUI class with multiplicities of zero-to- many and one 1787 association between the game 1788 generalization of 1731 by 1732 class and the buy-filler-word- menu-GUI class with multiplicities of zero-to-many and one 1789 generalization of 1729 by 1732 1790 generalization of 1730 by 1732 1792 generalization 1793 generalization 1810 navigation-mode GUI 1812 quiz-and-word-guessing- (“NavModeGUI”) object selector-GUI (“Q_W_GuessSelGUI”) object 1814 Controller object 1816 Game object 1818 guess-the-phrase-word 1850 get-quiz-and-word-guessing- instance for the guess-the- selector component phrase-word node (“getQ_W_GuessSelGUI( . . . ) ”) message 1850A guess-the-phrase-word node ID 1850B reference to the current player (“GTPWdNdID”) (“player”) 1852 get-trivia-quiz-by-category- 1854 validate-control total (“validateControl( . . . ) ”) (“getTrivQuizByCatTot( . . . ) ”) method method 1856 get-node-state 1858 condition that the node-state is (“getNodeState( )”) method of available the guess-the-phrase-word object 1859 set-active-node 1860 get-trivia-quiz-by-category- (“setActiveNode( . . . ) ”) method total for the guess-the-phrase-word (“getTrivQuizByCatTot( )”) node method 1862 trivia-quiz-by-category-total 1864 display-quiz-and-word- (“trivQuizByCatTot”) array guessing-selector-GUI (“displayQ_W_GuessSelGUI ( . . . ) ”) method 1910 trivia-quiz answer instance for 1912 trivia-quiz-question object for the trivia-quiz answer node the trivia-quiz-question node (“TQQNd:TrivQuizQues”). 1914 trivia-quiz-GUI object 1916 turn GUI object 1950 get-trivia-quiz-GUI 1950A category (“cat”) which the next (“getTriviaQuizGUI( . . . ) ”) trivia-quiz is to be selected message from 1952 get-trivia-quiz-by-category 1954 next-trivia-quiz-by-category- (“getTrivQuizByCat( . . . ) ”) index message (“nextTrivQuizbyCatIndx( . . . ) ”) method 1956 lookup next-trivia-quiz- 1958 lookup trivia-quiz-question- answer-node node (“lookupTQQNd( )”) (“lookupNextTQANd ( . . . ) ”) method method 1959 reference to the trivia-quiz- 1960 getNodeState method of the question node (“TQQNd”). trivia question node 1962 active-node 1962A trivia-quiz-question node ID (“setActiveNode(. . . ”) method (“TQQNdID”) for a trivia-quiz question node 1964 get-question-information 1966 close-quiz-and-word-guessing- (“getQuestionInfo( )”) method selector-GUI (“closeQ_W_GuessSelGUI( )”) message 1968 display-trivia-quiz-GUI 1968A trivia-quiz question (displayTriviaQuizGUI( . . . ) ”) message 1968B trivia-quiz-by-category-index 1968C trivia-quiz-by-category-total (“trivQuizByCatIndx”) (“trivQuizByCatTot”) parameter parameter 1970 display-turn-GUI 1970A array of players, in order of (“displayTurnGUI( )”) message control (“controlSeq”) 1970B index for the player with 1970C reference to a “clock” object answering privilege (“ansPrivIndex”) 2050 submit guess 2050A attempt (“attempt”) (“submitGuess( . . . ) ”) message 2052 validate-attempt 2054 validate-answering-privilege (“validateAttempt( . . . ) ”) (“validateAnsPriv( . . . ) ”) message method 2056 lookup-trivia-quiz-answer- 2057 reference to the trivia-quiz node (“lookupTQANd( )”) answer node (“TQANd”) method 2058 get-node-state 2059 set-active-node (“getNodeState( )”) method of (“setActiveNode( . . . ) ”) method the trivia-quiz answer node for a trivia-quiz-answer node 2059A trivia-quiz-answer node ID 2060 get-valid-answers (“TQANdID”) (“getValidAnswers( )”) method 2061 array of valid answers 2062 checkAttempt method (“validAnswers[ ]”) 2110 round object 2112 Match object 2140 update-score sequence 2150 set-node-state (“setNodeState( . . . ) ”) message 2150A “answered” value 2152 set-node-state 2154 get-answer (“getAnswer( )”) (“setNodeState( . . . ) ”) message method 2156 lookup-guess-the-phrase-word- 2158 lookup-guess-the-phrase- node (“lookupGTPWNd( )”) phrase-node method of the trivia-quiz (“lookupGTPPNd( )”) method answer node 2160 reference to the guess-the- 2162 set-active-node phrase-phrase node (“setActiveNode( . . . ) ”) method for a guess-the-phrase-phrase node 2162A guess-the-phrase-phrase node 2164 update-score ID (“GTPPNdID”) (“updateScore( . . . ) ”) messages 2164A points by which the score is to 2165 condition that the player who be updated answered the question is not equal to the player who currently has control 2166 set-control-index 2168 reset-answering-privilege (“setControlIndex( . . . ) ”) index (resetAnsPrivIndex( )”) method method 2250 updateScore method of the 2252 get-scores (“getScores( )”) Round object method of the round object 2254 update-score 2256 get-scores (“getScores( )”) (“updateScore( . . . ) ”) method of method of the match object the match object 2310 control-and-score-GUI 2350 close trivia-quiz-GUI (“Cntrl&ScoreGUI”) object (“closeTriviaQuizGUI( )”) message 2352 update-navigation-mode-GUI 2352A trivia-quiz answer (“updateNavModeGUI( . . . ) ”) (“triviaAnswer”) message 2354 update-control-and-score-GUI 2354A array of player scores for the (“updateCntrl&ScoreGUI( . . . ) ”) round (“round.player.score[ ]”) message 2354B array of player scores for the 2354C the index for the player with match (“match.player.score[ ]”) control (“cntrlIndex”) 2450 next-answering-privilege 2452 alternative combination (“nextAnsPriv( )”) fragment 2454 condition that the control index 2456 update trivia-quiz-GUI is not the answering-privilege (“updateTrivQuizGUI( . . . ) ”) index message 2458 condition that the control index 2460 close trivia-quiz-GUI is equal to the answering- (“closeTriviaQuizGUI( )”) privilege index message 2550 pass (“pass( . . . ) ”) message to 2552 pass (“pass( . . . ) ”) message to the controller object the game object 2553 alternative combination 2610 word-guessing-mode-GUI fragment (“WdGuessingModeGUI”) object 2650 submit-word-guess 2650A word attempt (“wordAttempt”) (“submitWordGuess( . . . ) ”) message 2652 validate-word-attempt 2654 get-valid-answers (“validateWordAttempt( . . . ) ”) (“getValidAnswers( )”) method message 2655 array of valid-word answers 2656 check-word-attempt (“validWdAnswers[ ]”) (“checkWordAttempt( . . . ) ”) method 2750 set-node-state 2752 getAnswer method of the (“setNodeState( . . . ) ”) method guess-the-phrase-word node of the guess-the-phrase-word node 2753 word answer (“wordAnswer”) 2850 next-control (“nextControl( )”) method 2950 buy-filler-word 2952 buy-filler-word “buyFillerWord( . . . ) ” message “buyFillerWord( . . . ) ” message to controller object to game object 2954 buy-filler-word-check 2955 “revealed” value “buyFillerCheck( )”method 3010 PhrGuessingModeGUI 3012 guess-the-phrase-phrase object 3050 submit-phrase-guess message 3050A phrase-attempt array to the controller object 3050B n-th word attempt 3052 submit-phrase-guess message to the game object 3054 getNodeState method of the 3056 lookup-nth-guess-the-phrase- guess-the-phrase-phrase node word node object (“lookupGTPWdNd(n)”) method of the guess-the- phrase-phrase node object 3056A each “n” word in a phrase 3058 loop-combined fragment 3059 while condition that the 3060 guess-the-phrase-word object previous attempt for a word was correct 3060A “n-th” guess-the-phrase-word 3062 get-nth-word-node-state object (“getNodeState(n)”) method of a guess-the-phrase-word object 3063 condition that an n-th word 3064 get-valid-answers node-state is unsolved (“getValidAnswers( )”) method of the n-th guess-the-phrase- word object 3065 array of valid answers 3066 check-word-attempt (“checkWdAttempt( )”) method 3210 FinishedModeGUI object 3250 set-node-state method of guess-the-phrase-phrase object 3250A “answered” parameter 3252 getAnswer method of the guess-the-phrase-phrase object 3253 phrase answer 3254 draw-finished-mode-GUI (“PhraseAnswer[ ]”) message to finished-mode- GUI-object 3310 expression (“Expression”) 3310A (expression ID) entity “ExpressionID” primary key 3310B “NumWords” attribute 3310C “NumQuizzableWords” attribute 3310D “NumNonQuizzableWords” 3310E “IsSuitableForQuestionYN?” attribute attribute 3310F “IsSuitableForAnswerYN?” 3310G “IsSuitableForGuessThePhrase attribute YN?” attribute 3311 canned-quiz (“CannedQuiz”) 3311A foreign-key-primary-key entity “ExpressionID_Answ” 3311B question-text (“QuestionTxt”) 3311C “TotalCorrectAttempts” attribute attribute 3311D “TotalWrongAttempts” 3312 CannedQuiz_SubjectCategory attribute entity 3312A a foreign-key-primary-key 3312B a foreign-key-primary-key column column 3314 SubjectCategory entity 3314A category code (“CategoryCode”) 3314B “CategoryDescription” 3350 primary key symbol “PK” attribute 3352 a primary-key column 3354 symbol “PF” for a foreign-key- primary-key column 3356 a foreign-key primary-key 3358 cardinality of zero-or-one column 3410 expression-word 3410A a foreign-key-primary-key “ExpressionWord” entity column 3410B word-number-in-expression 3410C “IsDictionaryWordYN?” (“WordNumInExp”) attribute attribute 3410D “IsQuizzableWordYN?” 3410E “IsCapitalizedYN?” attribute attribute 3412 ExpressionWordDictWord 3412A foreign-key-primary key entity column, 3410A in 3412 3412B foreign-key-primary key 3412C foreign-key-primary key column, 3410B in 3412 column, 3416A in 3412 3412P composite primary key 3414 ExpressionWordNonDictWord entity 3414P composite primary key 3416 DictionaryWord entity 3416A primary key 3416B word-text “WordTxt” attribute “DictionaryWordID” 3418 NonDictionaryWord entity 3418A primary key “NonDictionaryWordID” 3418B word-text (“WordTxt”) 3510 Entity dictionary-word - attribute dictionary-word - contains (“DictWd_Dict:Contains”) 3510A a foreign-key-primary-key 3510B a foreign-key-primary-key column of entity 3510 from column of entity 3510 from primary key 3416A primary key 3416A 3510P foreign-key-primary-key of 3511 Entity dictionary-word - entity 3510 dictionary-word - contained by “DictWd_DictWd:ContainedBy 3512 dictionary-word - dictionary- 3514 dictionary-word - dictionary- word - alternate spelling word - tense of (“DictWd_DictWd:AlternateSpelling”) (“DictWd_DictWd:TenseOf”) entity entity 3516 dictionary-word - dictionary- 3518 dictionary-word - dictionary- word - abbreviation-or-long- word - root-or-derivative-of form (“DictWd_DictWd:RootOrDeriv DictWd_DictWd:AbrevOrLong Of”) entity Fm entity 3518A a foreign-key-primary-key 3518B a foreign-key-primary-key column of entity 3518 from column of entity 3518 from primary key 3416A primary key 3416A 3518P foreign-key-primary-key of entity 3518 3520 dictionary-word - dictionary- 3522 dictionary-word - dictionary- word - synonym-of word - antonym-of (“DictWd_DictWd:SynonymOf”) (“DictWd_DictWd:AntonymOf”) entity entity 3610 ExpWdDictWd_DictWd_Dict 3610A a foreign-key-primary-key Wd:RootOrDerivativeOf entity column of entity 3610 from primary key column 3412A 3610B a foreign-key-primary-key 3610C a foreign-key-primary-key column of entity 3610 from column of entity 3610 from primary key column 3412B primary key column 3412C 3610D a foreign-key-primary-key 3610E a foreign-key-primary-key column of entity 3610 from column of entity 3610 from primary key column 3518A primary key column 3518B 3612 ExpWdDictWd_ExpWdDictWd_DictWd_Dict 3612A a foreign-key-primary-key Wd:RootOrDerivativeOf1 column of entity 3612 from entity primary key column 3412A 3612B a foreign-key-primary-key 3612C a foreign-key-primary-key column of entity 3612 from column of entity 3612 from primary key column 3412B primary key column 3412C 3612D a foreign-key-primary-key 3612E a foreign-key-primary-key column of entity 3612 from column of entity 3612 from primary key column 3610A primary key column 3610B 3612F a foreign-key-primary-key 3612G a foreign key column of entity column of entity 3612 from 3612 from primary key column primary key column 3610C 3610D 3612H a foreign key column of entity 3710 node (“Node”) entity 3612 from primary key column 3610E 3710A node ID (“NodeID”) primary 3710B “IsExpressionYN?” attribute key 3710C “IsNotAnExpressionYN?” 3710D parent-node-ID attribute (“ParentNodeID”) 3710E node-level (“NodeLevel”) 3710F tree ID (“TreeID”) foreign key attribute 3710J one to zero-or-one self-join 3711 one-to-zero-or-one cardinality between entities 3710 and 3712 3712 non-expression-node 3712A foreign-key-primary-key of (“NonExpressionNode”) entity entity 3712 3712B is-it-a-canned-quiz-question- 3712C is-it-a-guess-the-phrase-word- yes-or-no node-yes-or- (“IsCannedQuizQuestionYN?”) no(“IsGuessThePhraseWordYN attribute ?”) attribute 3712D is-it-a-multi-media-clip-yes-or- 3712E is-it-a-sound-clip-yes-or-no no (“IsMMClipYN?”) attribute (“IsSoundClipYN?”) attribute 3712F is-it-a-picture-yes-or-no 3712G is-it-a-concealed-picture- (“IsPictureYN?”) attribute puzzle-yes-or-no (“IsConcealedPicturePuzzleYN ?”) attribute 3713 one-to-zero-or-one cardinality 3714 expression-node between entities 3710 and (“ExpressionNode”) entity 3714 3714A “NodeID” foreign-key-primary 3714B “ExpressionID” foreign-key- key column in entity 3714 primary key column in entity 3714 3714C is-it-a-derived-clue-yes-or-no 3714D is-it-the-answer-to-a-canned- (“IsDerivedClueYN?”) quiz-question-yes-or-no attribute (“IsCannedQuizAnswerYN?”) attribute 3714E is-it-a-guess-the-phrase- 3715 one-to-zero-or-many phrase-yes-or-no cardinality between entities (“IsGuessThePhrasePhraseYN?”) 3710 and 3714 attribute 3810 CannedQuizQuestionNode 3810A foreign-key-primary-key entity column in entity 3810 from 3712A 3810B foreign-key-primary-key 3810C has-multiple-choice-answer- column in entity 3810 from yes-or-no 3311A (“HasMCAnswerYN?”) attribute 3810D has-text-input-answer-yes-or- 3811 one-to-zero-or-one cardinality no between entities 3712 and (“HasTextInputAnswerYN?”) 3810 3812 GuessThePhraseWordNode 3812A foreign-key-primary-key entity column in entity 3812 from primary key 3712A of entity 3712 3812B foreign-key-primary-key 3812C foreign-key-primary-key column in entity 3812 from column in entity 3812 from primary key column 3410A of primary key column 3410B of entity 3410 entity 3410 3813 one-to-zero-or-one cardinality 4010 tree (“Tree”) entity between entities 3712 and 3812 4010A tree ID (“TreeID”) primary key 4010B is-template-yes-or-no “IsTemplateYN?” attribute 4010C average-player-rating 4010D tree-created-by-player-ID “AveragePlayerRating” (“TreeCreatedByPlayerID”) attribute foreign key from a player entity 4110 player (“Player”) entity 4110A player ID (“PlayerID”) primary key 4110B first name (“FName”) attribute 4110C last name (“LName”) attribute 4112 tree-player (“Tree_Player”) 4112A foreign-key-primary-key entity column referencing primary key 4010A of entity 4010 4112B foreign-key-primary-key 4112C player-rating-of-tree column referencing primary (“PlayerRatingOfTree”) key 4110A of entity 4110 attribute 4210 tree-formulator 4250 tree-formula-initialization (“:TreeFormulator”) object method (“initTreeFormulator( )”) 4252 insert-tree (“insertTree( )”) 4254 tree ID (“TreeID”) value message 4256 select-expression 4256A parameter to select where (“selectExpression( . . . ) ”) “IsSuitableForGuessThePhrase message YN?” attribute 3310G is set to “Y” 4258 values returned from entity 4258A expression ID 3310 (“ExpressionID”) value from column 3310A 4258B number of words 4260 insert-node (“insertNode( . . . ) ”) (“NumWords”) value from message column 3310B 4260A parameter to set column 3710B 4260B Other parameters sent with to “Y” message 4260 4260C parameter to set column 3710D 4260D parameter to set column 3710E to NULL to “1”. 4262 node ID (“NodeID”) 4264 insert-expression-node (“insertExpressionNode( . . . ) ”) message 4264A parameters of message 4264 to 4264B Parameter to set column” set columns 3714C and 3714D 3714E to “Y” both to “N” 4266 set-level-one-parent-node-ID 4348 outer loop (“setLevel1ParentNodeID( . . . ) ”) message 4350 select-expression-word 4350A parameter representing the (“selectExpressionWord( . . . ) ”) loop counter message 4352 column values from entity 4352A value of column 3410 “IsQuizzableWordYN?” 3410D 4352B values of column 4354 insert-node (“insertNode( . . . ) ”) “IsQuizzableWordYN?” message 3410C and 3410E 4354A parameter to set column 3710C 4354B other parameters sent with to “Y” message 4354 4354C parent-node-ID 4354D parameter to set column 3710E (“parentNodeID”) parameter to to “2” set column 3710D to the node ID of the parent, top-level node 4356 node ID (“NodeID”) return 4358 insert-non-expression-node value (“insertNonExpressionNode ( . . . ) ”) message 4358A parameter to set column 3712C 4358B Other parameters of message to “Y” 4358 to set columns 3712B, and 3712D-3712G to “N” 4360 insert-guess-the-phrase-word- 4360A parameter to set column 3812B node to the current expression ID of (“insertGuessThePhraseWord the top-level expression Node( . . . ) ”) message 4360B parameter to set 3812C to the 4450 alt combined fragment counter value “n” representing the word number in the expression 4452 condition that 4454 next (“next(n)”) method or “IsQuizzbleWordYN?” value next statement 4352A is set to “N”, 4456 condition that 4457 set-level-two-node-id “IsQuizzbleWordYN?” value (“setLevel2NodeID( . . . ) ”) 4352A is set to “Y” method 4458 loop combined fragment 4460 reset-level-two-parent-node-ID (“resetLevel2ParentNodeID( )”) method 4461 level-two-node-id parameter 4462 select-related-expression (“selectRelatedExpression( . . . ) ”) message 4464 related-expression-id 4466 “selectExpressionID_Answ” (“ExpressionID1”) message 4466A parameter to select column 4468 “ExpressionID_Answ” value 3311A from entity 3311 where column 3311A is equal to 4464 4470 method or next statement 4472 condition that checks that 4468 4550 condition that checks that 4468 in not null is not null 4552 insert-node (“insertNode( . . . ) ”) 4552A parameter that sets column message 3710B “IsExpressionYN?” to “Y” 4552B Parameter to set 4552C parent-node-ID “IsNotAnExpressionYN?” (“parentNodeID”) parameter column 3710C to “N” 4552D A parameter to set column 4554 node ID (“NodeID”) 3710E to “3” 4556 insert-expression-node 4556A parameter to set (“insertExpressionNode( . . . ) ”) “ExpressionID” column 3714B message to 4468 4556B parameters to set columns 4556C Parameter to set column 3714C and 3714E to “N” “IsCannedQuizAnswerYN?” 3714D to “Y” 4558 set-level-three-parent-node-id 4560 insert-node message (“setLevel3ParentNodeID( . . . ) )” method 4560A parameter to set column 4560B parameter to set 3710C, “IsExpressionYN?” 3710B to “IsNotAnExpressionYN?” to “N” “Y” 4560C parent-node-ID 4560D parameter to set column 3710E (“parentNodeID”) parameter to “4” 4562 node ID (“NodeID”) 4564 insert-non-expression-node (“insertNonExpressionNode ( . . . ) ”) message 4564A parameter to set 4564B Other parameters to set “IsCannedQuizQuestionYN?” columns 3712C-3712G to “N” column 3712B to “Y”. 4566 insert-canned-quiz-question- 4566A parameter to set 3810C to “N”, node (“insertCannedQuizQuestionNode ( . . . ) ”) message 4566B parameter to set column 3810D 4650 initialize-guess-the-phrase- to “Y” phrase-node (“initGTPPNd( . . . ) ”) message 4652 node-id (“NodeID”) 4654 select-expression (“selectExpression( . . . ) )” message 4656 expression-id 4658 select-number-of-words (“ExpressionID”) (“selectNumWords( . . . ) ”) message 4660 number-of-words 4662 initialize-guess-the-phrase- (“NumWords”) word-node-array (“initGTPWNd( )”) method 4664 combined loop fragment 4666 select-guess-the-phrase-word- node (“selectGTPWNd( . . . ) ”) message 4668 parameter to restrict column 4670 node-id (“NodeID”) 3710D to 4652 4674 add-guess-the-phrase-word- 4750 initialize-guess-the-phrase- node (“addGTPWNd( . . . ) ”) word-node-id method (“initGTPWNd( . . . ) ”) message 4752 node-id (“NodeID”) 4754 select-expression-and-word- number (“selectExpression&WordNum ( . . . ) )” message 4756 returns values 4758 parent-expression-id (“ParentExpressionID”) 4760 word-number-in-parent- 4762 select-expression-word- expression information (“WordNumInParentExp”) (“selectExpressionWordInfo ( . . . ) ”) message 4762A parameter which restricts 4762B parameter which restricts column 3410A.with 4758 column 3410B.with 4760 4764 return values 4766 expression-id (“ExpressionID”) 4768 word-number-in-expression 4770 “IsQuizzableWordYN?” (“WordNumInExp”) 4772 “IsCapitalizedYN?” 4774 select-dictionary-word “(selectDictionaryWord( . . . ) ” message 4776 Parameter that restricts column 4778 select-word-text 3412A (“selectWordTxt( . . . ) ” message 4780 word-text (“WordTxt”) 4782 set-answer (“setAnswer( . . . ) ”) method 4784 condition that the word is a 4786 set-valid-word-answer quiz-able word (“setValidWdAnswer( . . . ) ” method 4850 select-parent-node 4852 parent-node-id (“selectParentNode( . . . ) ”) (“ParentNodeID”) message 4854 initialize-trivia-quiz-answer- 4856 loop combined fragment node (“initTQANd( )”) method 4858 select-trivia-quiz-answer-node 4860 parameter to restrict column (“selectTQANd( . . . ) ”) message 3710D to node ID 4752 4862 node id 4864 select-expression (“selectExpression( . . . ) ”) message 4866 expression-id 4868 select-category-code (“ExpressionID”) (“selectCategoryCode( . . . ) ”) message 4870 parameter which restricts 4872 category-code column 3312A with 4866 (“CategoryCode”) 4874 set-trivia-quiz-answer-node 4950 initialize-trivia-quiz-answer- (“setTQANd( . . . ) ” method node (“initTQANd( . . . ) ”) message 4952 node-id (“NodeID”) 4954 select-expression (“selectExpression( . . . ) )” message 4956 expression-id 4958 select-number-of-words (“ExpressionID”) (“selectNumWords( . . . ) ”) message 4960 number-of-words 4962 initialize-answer (“NumWords”) (“initAnswer( . . . ) )” method 4964 combined loop fragment 4966 select-dictionary-word (“selectDictionaryWord( . . . ) ”) message 4966A parameter which restricts 4968 dictionary-word-id column 3412B to the counter (“DictionaryWordID”) representing the word number 4970 select-word-text 4972 word text (“WordTxt”) (“selectWordTxt( . . . ) ”) message 4974 select-caplitalization 4974A parameter for counter value, (“selectCapitalization( . . . ) ”) which restricts colunm 3410B 4976 “IsCapitalizedYN?” 4978 add-to-answer (“addToAnswer( . . . ) ”) method 5050 convert-to-string 5052 array of words for the trivia- (“convertToString( . . . ) ” quiz-answer expression method 5054 initialize-valid-answers 5056 string-answer (“initValidAnswers( . . . ) ”) (“stringAnswer”) method 5058 select-guess-the-phrase-word- 5058A parameter that restricts column node (“selectGTPWNd( . . . ) ”) 3710A with node id 4952 message 5060 parent-node-id 5062 set-guess-the-phrase-word- (“ParentNodeID”) node (“setGTPWNd( . . . ) ”) method 5064 select-trivia-quiz-question- 5064A parameter 5064A that restrict node (“selectTQQNd( . . . ) ”) column 3710D with 4952 message 5066 node-id (“NodeID”) 5068 set-trivia-quiz-question-node (“setTQQNd( . . . ) ”) 5150 initialize-trivia-quiz-question- 5152 node-id (“NodeID”) node (“initTQQNd( . . . ) ”) message 5154 a select-expression 5156 “ExpressionID_Answ” (“selectExpression( . . . ) )” message 5158 select-question-text 5160 question text (“QuestionTxt”) (“selectQuestionTxt( . . . ) ”) message 5162 initialize-question 5164 select-trivia-quiz-answer-node (“initQuestion( . . . ) ”) method (“selectTQANd( . . . ) ”) method 5166 node-id (“NodeID”) 5168 set-trivia-quiz-answer-node (“setTQANd( . . . ) ”) method 5210 round (“Round”) entity 5210A “TreeID” foreign key 5210B “MatchID” foreign-key- 5210C round number “RoundNum” primary-key column primary key column 5210D “TotalPointsAwarded” 5210E “MaxAvailPoints” attribute attribute 5210F “StartDate” attribute 5210G “EndDate” attribute 5210H “PlayerIDToStartRound” 5210I “IsStartedYN?” attribute foreign key 5210J “IsSuspendedYN?” attribute 5210K “IsCompletedYN?” 5212 “Round_Player” composite 5212A “MatchID” primary-key entity column 5212B “RoundNum” primary-key 5212C “PlayerID” primary-key column column 5212D “Score” attribute 5214 match (“AMatch”) entity 5214A “MatchID” primary key 5214B “TotalPointsAvailable” attribute 5214C “TotalPointsAwarded” 5214D “PlayerIDMatchAdmin” foreign key 5214E “IsStartedYN?” attribute 5214F “IsSuspendedYN?” attribute 5214G “IsCompletedYN?” 5216 “AMatch_Player” composite entity 5216A “MatchID” foreign-key- 5216B “PlayerID” foreign-key- primary-key column primary-key column 5216C “Score” attribute 5216D “ControlOrder” attribute 5310 game administrator 5312 player object (“Player”) (“GameAdmin <<actor>>”) 5314 match (“Match”) object 5350 initiate-game (“initGame( . . . ) ”) message 5352 array of player IDs of size “P” 5354 number of rounds (“playerID[P]”) (“numRounds”) 5356 array of “R” tree IDs 5358 initilize-control-sequence (“TreeID[R])”) (“initControlSeq( . . . ) ”) 5360 combined loop fragment 5362 initialize-player (“initPlayer( . . . ) ”) message 5364 player ID of the counter index 5366 select-player value (“playerID(p)”) (“selectPlayer(p)”) message 5368 reference to the player object 5370 add-to-control-sequence (“addToControlseq( . . . ) ”) method 5372 initialize-match 5374 control sequence (“initMatch( . . . ) ”) message (“controlSeq”) 5376 insert-match (“insertMatch( )”) 5378 “MatchID” value message 5380 reference to the match object 5450 next-control-sequence (“nextControlSeq( . . . ) ”) method 5452 parameter “r”, the index of the 5454 initialize-round current round (“initRound( . . . ) ”) message 5456 match ID (“MatchID”) 5458 insert-round parameter (“insertRound( . . . ) ”) message 5460 tree ID of the round index 5462 index of the current round plus (“TreeID(r)”). one 5464 round reference 5466 select-top-node (“selectTopNode( . . . ) ”) message 5468 parameter that restricts column 5470 node ID (“NodeID”) return 3710E to “1”. value 5472 get-number-of-words 5474 initialize-guess-the-phrase- (“getNumWords( )”) message word-GUI-information (“initGTPWGUIInfo( )”) method 5550 combined loop fragment 5552 get-nth-guess-the-phrase-word- node (“getGTPWNd(n)”) message 5554 node ID (“NodeID”) 5556 reference to the guess-the- phrase-word node 5558 get-guess-the-phrase-word- 5560 return values node-GUI-information (“getGTPWNdGUIInfo( )”) message 5562 word text (“WordTxt”) 5564 is-quiz-able-word-yes-or-no (“IsQuizzableWdYN?”) 5566 node state (“nodeState”) 5568 get-word-length (“getWordLength( . . . ) ”) message 5570 add-guess-the-phrase-word- 5572 length (“wordLength”) GUI-information (“addGTPWGUIInfo( . . . ) ”) method 5574 initialize-navigation-mode- 5576 guess-the-phrase-phrase-node- GUI (“initNavModeGUI( . . . ) ”) ID (“GTPPNdID”) message 5578 guess-the-phrase-word-GUI- 5580 initialize-control-and-score- information GUI (“GTPWGUIInfo[ ]”) array (“initCntrl&ScoreGUI( . . . ) ”) message 5582 array of player scores for the 5584 array of player scores for the round (“round.player.score[ ]”) match (match.player.score[ ]”) 5586 control sequence 5588 index for the player with (“controlSeq”) control (“cntrlIndex”) 7010 quiz question for clue “Shrek” 7012 quiz question for clue “The Hobbit” 7014 quiz question for clue “Bruce 9510 phrase component title bar Lee” 9512 phrase component 9520 horizontal scroll bar 9530 score-and-control component 9540 quiz navigator component 9550 Match Parameters Display 9560 Pause/Quit Match button component 9562 Score and Control component 9564 Match Parameters component button button 9566 quiz navigator component 9568 Match History component button button 9570 phrase component button 9572 My Player Console button 9574 Chat component button

DETAILED DESCRIPTION Logical Description—FIG. 1

The detailed embodiment uses “nodes” to relate quiz-data into structures that can be persisted and accessed at runtime. Nodes represent uniquely identified information fragments that may serve the purpose of a clue or an answer depending on context. The information fragment is the data associated with a clue or answer. For a text-based clue or answer it represents the text that might be displayed in the interface. A unique identifier is imposed on an information fragment in order to uniquely represent it in the context of one “quiz-tree”. A quiz-tree is more generally described as a quiz structure. A general quiz structure and a quiz-tree sub-structure is a node chain. A node chain is comprised by three or more nodes associated in a linear sequence. Nodes and information fragments can be provided by a persistent computer storage means, such as a database. Nodes can generally have their information fragment exposed or unexposed in a game interface. Nodes can be visually represented as dots. Associations between nodes can be represented by connecting lines. A quiz-tree represents nodes and their associations used in a QNQ puzzle. A quiz-tree can be logically depicted as a genealogy or tree root system which brachiates from a single top node. A one-lower-level node connected node-to-node with a higher level node could be called a ‘child’ node of the one-higher-level ‘parent’ node.

The outcome of an iteration of a hypothetical embodiment of a QNQ is logically depicted (FIG. 1). The symbol for a node that is a top-level answer 140 is a large hollow circle. It is node that can only be an answer since it is the final answer to a QNQ puzzle.

In FIG. 1, nodes levels are consecutively numbered from the top level to the lowest level. In the present discussion, a top level or node-level one is represented as node-level 1110. Node-level 2 112, node-level 3 114, node-level 4 116, and node-level “n” 130 follow.

The symbol for a revealed node 142 is a solid circle. The symbol for an association 141 between a revealed, lower node 142, acting as a clue, with another node, acting as an answer, is a thick connecting line. Revealed nodes 142 are generally revealed by supplying a correct answer, except at the bottom-most level of a branch. Revealed nodes 142 at the bottom-most level of a branch represent clues that were supplied by an embodiment for the solution of their one-higher-level answer. They are nodes that serve as clues but are never answers.

The symbol for an unrevealed node 146 is a solid square. The symbol for an association 145 of a lower unrevealed node 146, acting as a potential, or unexposed clue, to an upper node, acting as an answer, is a relatively thin line.

In some cases a revealed node at level “n”, might allow a player to cognitively solve the level-“n−2” node at virtually the same time as the level-“n−1” node. In terms of the game interface, a player might choose to bypass solving the level-“n−1” node and directly solve the level-“n−2” node.

In the detailed embodiment which follows, the objective of the game is to solve the top-level answer as efficiently as possible. Therefore, bypassing the level-“n−1” node solution would not be discouraged by the scoring system. A solid oval symbol 144 is used to depict a cognitively solved node. It represents a node that was cognitively solved by a player, but not formally solved as an answer. Its solution was bypassed in favor of solving the higher, level-“n−2” quiz. Unrevealed nodes 146A represent nodes that went unrevealed, until they were revealed by virtue of the solution of the top-level quiz.

The logical structure can vary between different iterations of any given embodiment of a QNQ, as well as between different embodiments of a QNQ. For any given quiz-tree, the depth and depth constancy between branches can be either variable or fixed. The number of child nodes connected to a parent node can be either constant or variable.

In the current embodiments, quiz solution is directed from bottom to top within branches, cognitively progressing one level at a time within a branch. In the current embodiments, the selection of quizzes is directed from top to bottom. These embodiments assume that the interface provides an indication of the top-level quiz at the beginning of a round, even though its solution is obscured. Also possible are embodiments where players have no exposure to the top-level quiz until later in the game. Embodiments are possible where navigation and quiz selection begins deeper within the quiz hierarchy. Embodiments are possible that present the option of exposing a clue without solving it from an underlying quiz, even when the clue is not at the bottom-most level of a branch. Embodiments that change the orientation of a quiz-tree, by inverting it for example, are possible.

There may be hints to aid in a node's solution. Such hints may be implicit to an indicator means for indicating a node without revealing it, such as a masking means. In the present embodiment, the phrase-words are indicated at the beginning of a round. Hints can also be provided by the visible categorization of lower level quizzes. Such suggestions of a quiz answer are called “implicit hints” to aid in the solution of a node. Such implicit hints are not considered “clues” in terms of the discussion which follows. However, implicit hints could be represented as nodes so the distinction is somewhat arbitrary.

Other embodiments could use other means for obscuring a node solution, such as including it in a large selection list with many incorrect solutions. Such a means would be beneficial in a system designed to limit typing.

The quiz to solve the top-level answer does not necessarily have to be of the same type as the quizzes that are available to solve the nested quizzes nor do any of the quizzes in an iteration of the game necessarily have to be of the same type. The quiz types associated with a node can generally be consistent or variable in respect to any other part of the hierarchy.

Embodiments can be implemented with many types of textual and word character quiz forms, such as word riddles, as well as non-textual and mixed forms including but not limited to quizzes involving mathematics, logic, pictures, symbols, video, sound, music, animation, video, real or virtual destinations, or any combination of quiz types.

A first embodiment of a QNQ is explained herein in the context of a game combining a ‘guess-the-phrase’ quiz with a question-and-answer trivia quiz.

FIGS. 2-14 Interface for Combined-Guess-the-Phrase-and-Trivia-Quiz Embodiment Overview

The following embodiment is called a “combined-guess-the-phrase-and-trivia-quiz embodiment”. The combined-guess-the-phrase-and-trivia-quiz embodiment is determined by many design decisions and is an example embodiment. The details presented are not intended to diminish the generality of either the combined guess-the-phrase-and-trivia-quiz embodiment or of other embodiments.

The combined-guess-the-phrase-and-trivia-quiz embodiment is generally described as a computer-based embodiment. It is also generally described as a game that is concurrently played by multiple players, although a single-player mode is assumed. Multi-player and single-player modes can be options under the present embodiment. They could also be offered as alternative embodiments. Where functionality specifically applies to multi-player variants it is construed as being part of a multi-player mode or embodiment only. Where functionality does not specifically apply to multi-player variants, it is construed to be included by either multi-player and single-player modes or embodiments.

The example top-level answer is an expression that is a common saying or proverb. It could also be a famous quotation, song lyric, poem, book excerpt, news headline, piece of knowledge or trivia, etc. A quiz database will contain a satisfactory repository of top-level phrases and underlying quizzes for maintaining novelty. Each word under the top-level phrase is a clue. Clues are unexposed at the beginning of a “round”. They are generally either exposed or unexposed during a round. At the beginning of each round, the user interface and system will be refreshed with a new, unexposed top-level phrase with fresh underlying quizzes, which are stored in a quiz database.

In the detailed embodiments, one iteration of a QNQ has one quiz-tree. The top-level expression is masked at the beginning of a single iteration of the game, called a “round”. A round is complete when the top-level expression is solved or cannot be solved by the players. In the event that the top-level expression cannot be solved, the round is gracefully ended (not shown). One or more rounds in some type of sequential context could be called a “match”.

A major goal of a round is to reveal the top-level expression. The top-level expression contains at least one, and generally two or more words that can each be the subject of one or more additional, nested quizzes. Such words are called “quiz-able-words”. These are each an answer of a lower-level quiz. Each quiz-able word can have a number of available clues. There may also be any number of words that form a part of the top-level expression that are not subject to nested quizzes, and these are called “filler-words”.

There are four levels of nodes and three levels of quiz in this embodiment. The depth of available clues is constant in this embodiment. The number of available clues per node is not constant throughout but is constant between node-levels four and three at one available clue per higher level node.

The quiz spanning node-levels two and one is a guess-the-phrase quiz to reveal the top-level expression. Quizzes between node-levels three and two are for revealing the quiz-able-word(s) contained in the top-level phrase. Quizzes between node-levels four and three are trivia-quizzes for finding clue(s) related to the quiz-able-words. Quizzes between node-levels four and three are categorized. Categorization of node-level four clues can provide implicit hints at node-level three answers. Categorization does not provide a clue as defined herein.

Unless the top-level quiz can be answered otherwise, quiz-able-words must be solved either cognitively or within the user interface. A clue will be found by correctly answering a quiz related to a quiz-able-word. The clue is the correct answer to a preceding quiz on a quiz-able-word, and is an expression that suggests its related quiz-able-word without necessarily solving the quiz-able-word. There could be multiple quizzes taken, and multiple clues obtained, for each quiz-able-word.

At the beginning of a round, all words in the top-level expression are masked. Players can see a mask for each character of each word. The masks prevent the viewing of underlying words until mask removal. Alternative embodiments could use a mask that conceals the word length, and have automatically-revealed filler-words.

The attached claims reference a first, second, and third node. In reference to the claims, nodes of the present embodiment at node-levels two, three and four refer to the first, second and third nodes respectively.

User Interface—FIGS. 2-13

The phrase component can appear in an integrated graphical user interface, such as the one indicated in FIG. 95. A score-and-control component 9530 will be displayed to each player during a round. An answering-turn-display component, 470 of FIG. 4 will be displayed when the game is in an answering mode. In single-player mode, the answering-turn-display component is modified to show the remaining time without showing information about other players.

Words in the phrase component are referred to in terms of their order of appearance in the user interface. The term “first quiz-able word” simply indicates that the word is the first quiz-able word to appear in the phrase. Nodes for the top-level expression, word, trivia-quiz answer, and trivia-quiz question are logically related in a quiz-tree. The quiz-tree for the sample iteration is shown in FIG. 14. When referring to components in their structural sense within their quiz-tree, the numbering of FIG. 14 is used. When referring to components in their user-interface sense, the numbering of FIGS. 2-13 is used.

FIG. 2 represents the phrase component at the beginning of a round of play, in a mode called “navigation mode”. As discussed further, there are four modes of the phrase component. These modes are “navigation”, “quiz-able-word-guessing”, “phrase-guessing” and “finished”. Except for finished mode, the modes can alternate during a round.

A “phrase section” 212 contains a sample masked phrase to be solved within one round. A phrase appearing in the phrase section generally contains zero or more filler-words and one or more quiz-able-words. In the example, there are initially unrevealed first and second quiz-able-words 220A1 and 220B1, with attached hyperlink. These refer to “nodes” 220A and 220B of FIG. 14. Initially there are also unrevealed first, second and third filler-words 218A1, 218B1 and 218C1, with attached hyperlink. These refer to “nodes” 218A, 218B and 218C of FIG. 14.

Each character of each word in the phrase is initially masked. An asterisk character is used to distinguish each character of unrevealed first, second and third filler-words 218A1, 218B1 and 218C1, with attached hyperlink. In contrast, a question mark character is used to distinguish each character of unrevealed first and second quiz-able-words, with attached hyperlink 220A1 and 220B1.

The distinction between quiz-able-word and filler-word masking characters, as well as the information supplied by the number of masking characters in a word, are examples of implicit hints which are not clues as defined herein.

A quiz-able-word or filler-word may be in a state of being masked or unmasked during a round. The mask overlying each word is part of an indicator means. It provides an indication of its respective word, without revealing its word. In the present embodiment, the indicator means includes a system means. The system means can include providing a hyperlink anchor having the masking characters. Source anchor text, or an image could be used. The hyperlink anchor indication can be provided by HTML generated by a servlet or Java Server Page run on an application server. The indication shows the existence of the word without exposing it. The indication also provides a user interface location for the unrevealed word. Players can take actions based on the indication.

In the present embodiment, the indication also offers a suggestion or implicit hint of the word answer. This suggestion is provided by the number and type of masking characters.

Once unmasked, a word remains unmasked, or revealed, for the remainder of the round. Each entire word will be either entirely masked or entirely unmasked unless it is in the process of being revealed by a player. All words in phrase section 212 are masked at the beginning of a round. Mask underlining for unrevealed words 220A1, 220B1, 218A1, 218B1 and 218C1 indicates a hyperlink that is attached to each word.

Each clue found on a quiz-able-word is displayed in a word-clue section 214, which is demarcated by a word-clue section label 222. A quiz-able-word clue is to be presented in quiz-able-word-clue cell 230A or 230B below the quiz-able-word to which it pertains. Each clue remains displayed until the end of a round. In an alternative embodiment, the clues could disappear once their associated quiz-able-word answer is revealed.

Dashed horizontal lines used to fill in areas represent the color gray or some other color. Empty cells 228 beneath each of filler-words 218A1, 218B1 and 218C1 are not subject to input and display nothing, and are therefore represented as grayed.

Subject to control and answering rules and the current assignment of control and answering privilege, a player can initiate a guess at the top-level quiz by selecting a “Solve-phrase” button 216A, visible in navigation mode.

Clicking on unrevealed first quiz-able-word 220A1, with attached hyperlink displays a quiz-and-word-guessing-selector component (FIG. 3). The quiz-and-word-guessing-selector component takes the form of a menu over the phrase component just below unrevealed first quiz-able-word 220A1, with attached hyperlink. The quiz-and-word-guessing-selector component has a top-level menu 310. Top-level menu 310 contains a “word-guess” menu option 312 and a “find-a-clue” menu option 314.

The quiz-and-word-guessing-selector component, and, more particularly, the “find-a-clue” menu option 314 and its submenus, are part of a selector means. In the present embodiment, the selector means includes a system means. This includes an arrow-cursor 99 and an input means, such as a computer mouse. The selector means is presented for each quiz-able word until the top-level phrase is solved, or until a quiz-able word's quizzes are exhausted. The selector means also uses a first exposure means which refers to the means that exposes a selected quiz question in the user interface.

In the present embodiment, the selector means allows a player to select one or more quizzes associated with each unsolved quiz-able-word. The selector means could include a JavaScript function that specifies how to call a servlet and pass a node identification value for the quiz-able word. The JavaScript function could be invoked from a hyperlink anchor for the quiz-able word. In the present embodiment, the selector means can include a browser request from the client to a controller servlet(s). The request passes the node-identification value of the selected quiz-able word. One server-side, the controller servlet passes the request to Enterprise Java Beans comprising the game model. Servlets and JSP files could be used to generate the HTML for the quiz-and-word guessing selector component. Alternately, only parameters needed for the variable information in the quiz-and-word-guessing selector component would be returned from the server. Other options include pre-loading quiz data on the client using XML or some other means, and having an applet that makes a request to the controller servlet.

An attachment means attaches the selector means to the indication of the quiz-able word. The attachment means includes a system means. In the present embodiment, the attachment means could include a hyperlink value or parameter for the quiz-able word's node-identification value. This is part of the hyperlink which provides the indication of the quiz-able word. The attachment means also associates the quiz-able word hyperlink to the selector means. It can do this with HTML and JavaScript that invokes the selector means when there is a mouse over event.

Placing arrow cursor 99 over find-a-clue menu option 314 (action not shown) presents a flyout menu called a quiz submenu 330. Its options are specific to the selected quiz-able-word and are based on the quizzes associated to it within the quiz-tree. Quiz submenu 330 presents the available quizzes by category. In the example, there is a television-quiz-category-menu option 332A, a movies-quiz-category-menu option 332B, a music-quiz-category-menu option 332C, and a sports-quiz-category-menu option 332D.

Each quiz-category-menu option 332A-332D displays the number of available quizzes per category in brackets. For example, a number of quizzes 332A1 in the “television” category is shown to be five. In an alternative embodiment, the quiz-and-word-guessing-selector component could be augmented, for example, to present the difficulty level of the available quizzes as well as subcategories.

Selecting one of quiz-category-menu options 332A-332D displays the next available trivia-quiz within the selected category by opening a trivia-quiz component (FIG. 4). The trivia-quiz component is a pop-up dialogue that displays a quiz and accepts player input. The trivia-quiz component has a quiz heading 410A. Quiz heading 410A includes a category 410A1, a quiz number 410A2 per category, and a total number of available quizzes 410A3 in the category pertaining to the quiz-able-word (220A of FIG. 14).

Also displayed are a quiz question 412A1, and an answer label 414A showing players where to type a guess. An answer-attempt textbox 416 will accept typed input from a player. A point-deduction warning 418 reminds players of a deduction for a wrong answer. A submit button 420 submits a guess in answer textbox 416 to the system for validation. A clear-answer button 422 clears answer textbox 416. A pass-guess button 424 allows a player to pass on the quiz without guessing.

Functionality provided by the trivia-quiz component, and particularly quiz question 412A1, is part of a first exposure means for exposing the information fragment comprised by the node identification value of the trivia-quiz-question node. The first exposure means includes a system means for obtaining quiz-question data from a trivia-quiz-question node and passing it to the trivia-quiz component.

A first guessing means allows a guess to be provided for a trivia quiz. The first guessing means includes functionality provided by the trivia-quiz component and particularly answer-attempt textbox 416 and submit button 420. It also includes a system means for providing a guess to a first validation means. In the present embodiment, this functionality includes passing a node identification value representing the trivia-quiz question to the system. Submitting a guess to a controller servlet could be accomplished using Javascript and HTML. It could also be accomplished using an applet request to the controller servlet. The first guessing means also includes a hand-pointer cursor 95. Also included is an input means, such as a computer keyboard for example.

In a sequential-answering system, an answer-attempt textbox 416 and buttons 420, 422, and 424 are enabled for the player with answering privilege. Players without answering privilege see a view of the trivia-quiz component as it is presented to the player with answering privilege. Alternatively, players without answering privilege have 416, 420, 422 and 424 disabled on their display.

Answering-turn-display component 470 shows which player has answering privilege for multiplayer modes or embodiments. A “turn” column heading 482 and a “player” column heading 472 help to arrange the display. An alarm clock icon 476 and a number of seconds 480 adjacent to a player name 474B, indicates which player has answering privilege and the amount of time that player has remaining to submit a guess before losing answering privilege. A “next” indicator 478 adjacent to a player name 474C indicates the next player in the answering privilege order. A third player name 474A is also indicated.

FIG. 5 depicts the trivia-quiz component with answer-attempt text 416A typed into answer-attempt textbox 416. A hand-pointer cursor 95 over submit button 420 indicates that a player is about to submit an answer attempt. Pressing submit button 420 submits a guess to the system for validation. A first validation means provides a validation result for the guess. In the present embodiment, the first validation means includes a system means. The system means includes using a node identification value for a trivia-quiz question to a get a node identification value of a corresponding trivia quiz answer. It includes getting the valid answer(s) for that node, and comparing them to the guess supplied from the interface. In the present embodiment, a validation result of success or failure is determined by the system. The validation process is dependent on quiz-to-answer matching criteria, explained further below.

On a validation result of failure, points are deducted from the score of the player who submitted the guess. In a sequential answering system, answering privilege to the trivia-quiz component passes to the next player. Answering privilege is passed until the quiz is solved or until each player has had answering privilege for the currently selected trivia-quiz one time. If no player successfully answers the quiz, the trivia-quiz component closes and no new clue is provided in quiz-able-word clue cell 230A (FIG. 2). The player with control can then take a new action.

An alternative embodiment might support a ‘first-response’ answering system. In a first-response answering system, the interface permits all players to guess at the same time. The system registers the order in which players submit their guess. Validation of the guesses is performed in the order they are received by the system. Validation continues until there is a successful validation result. The first player to successfully answer a quiz gains control to select the next action.

When there is a successful validation result, the system closes the trivia-quiz component. The system increases the score of the player whose guess had a successful validation result. A new clue 230A1 is revealed in quiz-able-word clue cell 230A as depicted in FIG. 6. First quiz-able-word 220A1 has first clue 230A1, “Marty McFly”, a movie character. Clue 230A1 is an expression that contains the first quiz-able-word, which will be revealed to be “fly”. Control will go to the player who successfully answered the most recent trivia-quiz. In alternative embodiments, control can be based on different rules.

Clue 230A1 is revealed by a second exposure means. In the present embodiment, this includes a system means. This includes providing an answer, and the node identification value of the trivia-quiz-answer node to phrase component in navigation mode. The second exposure means could for example include HTML anchor text, or a client applet field

The player with control might decide to guess at the quiz-able-word for which the clue was just found. The player with control could also take any other valid action such as initiating a guess at the phrase, finding more clues on either quiz-able-word, revealing a filler-word, or potentially, choosing to pass control.

It is presumed that the player with control next positions hand-pointer cursor 95 over unrevealed second filler-word 218B1, with attached hyperlink and clicks her mouse button. A “buy-word” menu 338, containing one item, is next displayed as shown in FIG. 7. In an alternative embodiment, a player might also have the option to guess at an individual filler-word. Only the player with control can select menu 338. Buy-word menu 338 is selected by a player releasing her mouse button with menu 338 selected with arrow cursor 99. This action opens a confirmation pop-up dialogue window depicted in FIG. 8.

The confirmation pop-up in FIG. 8 confirms the player's decision to buy the selected filler-word. A word-cost warning label 510 reminds the player in control of the cost of buying a filler-word. A word-cost message 512 asks the player in control if she wants to buy the selected word. The player can proceed to buy the filler-word by placing hand-pointer cursor 95 over a “yes” button 514 and mouse clicking. The player can also click a “no” button 516, canceling the filler-word purchase and closing the confirmation pop-up dialogue window.

FIG. 9 depicts the phrase component in navigation mode with revealed second filler-word 218B5 that was revealed by buying a word. Further player action cannot be taken on revealed second filler-word 218B5 as shown by its lack of a hyperlink, which had been indicated by underlining.

After the round has been in progress a while, the phrase component might appear similar to FIG. 9, except with two clues revealed in first quiz-able-word cell 230A. The player with control might guess at unrevealed first quiz-able-word 220A1, with attached hyperlink. This can be accomplished with word-guess menu option 312 depicted in FIG. 3.

Opting to guess at a quiz-able-word will change the mode of the phrase component to word-guessing mode, depicted in FIG. 10. First quiz-able-word's presumed second clue 230A2, “The Flight of the Phoenix”, is a movie name. Clue 230A2 is also an expression containing a word derivative, “flight”, of the quiz-able-word, “fly”.

In word-guessing mode, solve-phrase button 216A of FIG. 9 disappears. It is replaced by a submit-guess button 216B, a clear-guess button 216C, a cancel-guess button 216D, and a point-deduction warning 216E of FIG. 10. A first quiz-able-word response 220A4 is accepted as text input from a player. The interface indicates that the field in which 220A4 is input is “active” by enlarging the font of 220A4, placing a field border 97 around it, and placing an insertion cursor 98 in the field. Unrevealed second quiz-able-word 220B2, without attached hyperlink and unrevealed first and third filler-words 218A2 and 218C2, without attached hyperlink will not accept input or action, as depicted by their absence of underlining, and are therefore “inactive”.

As the player with control inputs response 220A4, the masking characters are replaced with the typed text. Insertion cursor 98 moves according to the input. FIG. 10 depicts two of the three characters of 220A as having been inserted.

The phrase component in word-guessing mode, and particularly response 220A4 and button 216B are part of a second guessing means. Also included is the quiz-and-word-guessing selector component, and particularly 312. In the present embodiment, the second guessing means includes a system means. This includes a means for inputting a guess in the interface. It also includes a means for submitting the node identification value of the quiz-able word node, along with the attempt, to the system for validation. This can include Javascript and HTML on the client, or an applet, for submitting a guess to a controller servlet.

It is presumed that the player with control completes a (correct) guess and submits the guess with submit-guess button 216B. Next, the system validates the attempt. On a successful validation result, focus returns to the phrase component in navigation mode, showing revealed first quiz-able-word 220A5 (FIG. 1, for 220A5 only) for the round duration. The successful player retains control.

Validation is provided by a second validation means which includes a system means. This includes accessing the valid answers associated with the node identification value for the quiz-able word, and comparing them with the supplied attempt to obtain a validation result.

If the player with control (FIG. 10) cancels guessing at the word with cancel-guess button 216D, focus returns to the phrase component in navigation mode. The display would appear similar to FIG. 9 except with clue 230A2 shown in FIG. 10. Control remains as is.

If, in FIG. 10, the player with control were to clear the guess with clear-guess button 216C, all characters of first quiz-able-word 220A would become masked. The phrase component would remain in word-guessing mode with focus on first quiz-able-word 220A and control remaining as is.

If the player with control were to submit an incorrect guess, unrevealed first quiz-able-word 220A1, with attached hyperlink would be shown. The screen would be like FIG. 9, except with clue 230A2 shown in FIG. 10. The phrase component would return to navigation mode. Control would be passed to the next player in the control sequence. The control and answering rules could be varied in different embodiments. There could also be a “pass-guess” button, not shown, to pass answering privilege to the next player in a sequential answering system.

Presuming that the player completes a response 220A4 to the first quiz-able-word and submits a correct guess (FIG. 10), revealed first quiz-able-word 220A5 (FIG. 11, for 220A5 only), “fly” would be shown and the phrase component returned to navigation mode. After the round has been in progress for a further while, two clues might be found for second quiz-able-word 220B and displayed in the second quiz-able-word-clue cell 230B.

In the present embodiment, revealed first quiz-able word 220A5 is provided by a third exposure means, including a system means. This includes obtaining the answer for the quiz-able word based on its node identification value, and returning it to the user interface. The third exposure means could for example include HTML anchor text, or a client applet field which displays the answer.

The player with control might then click solve-phrase button 216A (FIG. 9, 216A only) to change the phrase component to phrase-guessing mode. The player might then begin completing the phrase as depicted in FIG. 11.

A first clue 230B1, for second quiz-able-word 220B3 in a guessing mode is “Appointment for Love”. This is a movie name that is an expression containing the second quiz-able-word “ointment”. A second clue 230B2, for 220B3 is “Cream”, the name of a music band. It is also a one-word expression with a word that is a synonym for the second quiz-able-word “ointment”. FIG. 11 describes a situation where the player solving the phrase cognitively solves second quiz-able-word 220B (FIG. 14), and with that information, proceeds to solve the top-level phrase.

Phrase-guessing mode is akin to word-guessing mode, except it supports the solution of the phrase as opposed to only one word. Submit-guess button 216B submits the phrase attempt for validation. Clear-guess button 216C masks all previously unsolved words, in this case 218A, 218C and 220B (FIG. 14), leaving the phrase component in phrase-guessing mode. Cancel-guess button 216D (FIG. 11) cancels phrase-guessing and returns the phrase component to navigation mode. Point-deduction-warning label 216E refers to a phrase guess. There could also be a “pass-guess” button, not shown, to pass answering privilege to the next player in a sequential answering system.

FIG. 11 shows a response 218A4 to the first filler-word, a response 218C4 to the third filler-word, and second quiz-able-word 220B3 in a guessing mode. These words can accept player input and are active. Revealed first quiz-able-word 220A5 and revealed second filler-word 218B5 will not accept input and are inactive in the example. Active words are indicated by enlarged font, with field borders 97 around them. Insertion cursor 98 starts at the beginning of response 218A4. Once all characters of response 218A4 to the first filler-word are entered, insertion cursor 98 moves to the beginning of the next active word to facilitate all active fields receiving an input. Insertion cursor 98 can be relocated with the forward and back keys of a standard keyboard, not shown. Insertion cursor 98 can also be relocated with text cursor 96 that appears when the cursor is placed near one of the active text fields for 218A4, 218C4, and 220B3.

FIG. 12 depicts a continuation of the phrase component in phrase-guessing mode. Completed response 218C4 to the third filler-word, and response 220B4 to the second quiz-able-word are shown. It is presumed that hand-pointer cursor 95 is next placed over submit-guess button 216B. Clicking button 216B submits the attempted phrase solution to the system for validation. If unsuccessful, the phrase component would return to navigation mode and control would pass to the next player in the control sequence. If successful, the phrase component would be displayed in finished mode as depicted in FIG. 13. In FIG. 13, revealed first filler-word 218A5, revealed third filler-word 218C5, and revealed second quiz-able-word 220B5 are shown. These are in addition to previously revealed first filler-word 218A5 and previously revealed second filler-word 218B5.

Finished mode indicates that the top-level phrase has been correctly answered. The phrase component will not respond to player action and the round is over. Finished label 216F displays in place of the buttons and point-deduction warning of the other modes.

During the round, points for the round were distributed as earned by the players, and the running round and match scores were updated. If the match contains more rounds, the phrase component is displayed in navigation mode with a new, fully masked top-level quiz. If the match contains no more rounds, the match ends.

Logical Description of a Game Round—FIG. 14

FIG. 14 portrays the logical structure of a sample round of the combined guess-the-phrase-and-trivia-quiz embodiment of a QNQ. FIG. 14 uses the symbols introduced with FIG. 1 to describe a QNQ. In FIG. 14, words, text and expressions, called information fragments, are identified with the nodes to which they belong. FIG. 14, includes information about the clues revealed to solve a top-level answer 1410.

Quiz question 412A1, at node-level four, is the trivia-quiz question introduced in FIG. 4. Its solution is first quiz-able-word's first clue 230A1, at node-level 3. It is one of two clues to first quiz-able-word 220A. First quiz-able-word 220A is one word of top-level answer 1410.

Quiz question 412A2 is another quiz question, not previously specified. Its solution is the first quiz-able-word's second clue 230A2 discovered for the first quiz-able-word in the sample round. It is the other of two clues to first quiz-able-word 220A.

Quiz questions 412A3 and 412A4 are quiz questions, not previously specified, whose answers become the second quiz-able-word's first clue 230B1 and second clue 230B2 respectively. Second quiz-able-word 220B was formally solved with the top-level phrase solution in the sample round. It is therefore depicted as a cognitively solved clue.

Other nodes are drawn to depict the domain of quizzes that were available in the sample round. Filler-words 218A, 218B and 218C round out node-level 2. Filler-word 218B was revealed by buying a word in the sample round, and so is depicted with the symbol for a revealed clue 142. Filler-words 218A and 218C were only revealed with the solution of top-level answer 1410. They are therefore depicted with the symbol for an unrevealed clue 146.

FIG. 14 shows the categorization of the trivia-quizzes spanning node-levels three 114 and four 116. Trivia-quiz categories 1420A were used to group quizzes that provide clues for first quiz-able-word 220A. Categories include a sports category 1420A1, a movies category 1420A2, a music category 1420A3 and a television category 1420A4. Categorization details are indicated on the first quiz-able-word only. Trivia-quiz categories 1420B are also used to group the quizzes that provide clues for second quiz-able-word 220B.

User Interface Flow Diagram—FIG. 15

FIG. 15 depicts the user interface flow without control and answering privilege details. The phrase component in navigation mode 1510 (depicted in FIG. 2), is the starting point of the game. From it, a player can access the quiz-and-word-guessing-selector component, find-a-clue option 1520 (indicated by menus 314, 332A-332D of FIG. 3). This is used to open the trivia-quiz component 1560 (depicted in FIG. 4). Once the quiz is finished, 1510 becomes active again.

From component 1510, a player can access the quiz-and-word-guessing-selector component, guess-word option 1530 (indicated by 312 of FIG. 3). This leads to the phrase component in word-guessing mode 1570 (depicted in FIG. 10), and back to 1510. From 1510, a player can access the phrase component in phrase-guessing mode 1540 (depicted in FIGS. 11 and 12). This can lead to the phrase component in finished mode 1580 (depicted in FIG. 13), and the end of a round 1590. It can also lead back to 1510. From 1510, a player can access the buy filler-word menu, and confirmation dialogue 1550 (depicted in FIGS. 7 and 8).

System Architecture for Game Delivery—FIG. 16

An embodiment can be supported by client, peer-to-peer, or distributed client/server software, hardware, data schema objects, data, and a database management system. Discussed is a ‘client-server’ architecture where the game is distributed between clients 1610 and server-side components 1650, connected by the Internet 1640.

Generally, there would be one client device for each player. Client devices could include various networked I/O devices. Shown is a desktop computer, 1612, a notebook or sub notebook computer, 1614, a handheld gaming device, 1616, and a cell phone/PDA with gaming capabilities, 1618. In general, the term “electronic gaming device” can apply to all of these and any electronic device that enables players to play the game. Internet access 1630 connects the clients to the server side components.

The client devices support software to play the game. Software can include a web browser, or custom game software downloaded and installed, or both. Third party or vendor components can be included. Client side code can be provided dynamically by a web server (or servers) 1652. The clients provide players with a graphical user interface and an input means. Input means can include alphanumeric keypads, touch screens, and computer mice. Outputs include a screen to display the user interface.

The server side infrastructure can be based upon existing software applications, database management systems, programming languages and server computers. Server-side components 1650 could include a web server 1652. Web server 1652 communicates with clients 1610 through an Internet connection 1670. Web server 1652 maintains a network connection 1672 to an application server (or servers) 1654. Application server 1654 manages multiple games in progress. Application server 1654 maintains a network connection 1674 to a database server (or servers) 1656, which manages 1676 a quiz database and associated schema 1658.

In a Java-based implementation, a web client 1610 might present the game to players as dynamic HTML pages, created from Java Servlets and/or JavaServer Pages™ assembled in a web tier by a J2EE server machine represented by 1654. These are delivered by a web server 1652 such as Apache. Alternative embodiments could include a custom user interface Java application or Applet, otherwise accessing the game through controllers in the server tier.

The controllers could also run on a J2EE server machine represented by 1654. Session beans could be used on server 1654 to converse with the clients and pass messages to the model. The model could be supported by Enterprise Java Beans and entity beans (entities) running on server 1654, representing persistent data stored in database entities.

Other technologies could include extensible markup language (XML) and web services. For example, quiz trees, could be represented in XML. Their information could be accessed from a server through web services. Some embodiments could have part or all of an XML quiz tree distributed to the clients. Client side scripting languages, such as JavaScript, could also be used.

A database server 1656 could run an Oracle®, MySQL® or other relational database management system to access a quiz database and associated schema 1658. The database server hardware, software, system and schema objects, and data comprise a persistent computer storage means. This allows for storing and accessing clues and answers, for relating clues and answers in clue/answer pairs, and for relating clue/answer pairs to one another. Schema relevant to the present embodiment are described in FIGS. 33-41 and FIG. 52. A persistent computer storage means supports various other aspects of the present embodiment. Embodiments using file-system based persistent computer storage means are also possible. XML and other tagged persistent data files are possible.

Standalone single-player embodiments might include support for downloading and accessing quiz-trees on the client from a Java client application. Quiz-trees might also be loaded onto the clients from physical media, such as a game cartridge or DVD. Client side software could run the game disconnected from server side components. Multi-player, peer to peer embodiments of the game with Internet-connected clients are also possible.

Other functionality can be built in support of the game. Quiz-trees could be custom built by the players. Players could begin with one or more personal, custom expressions with the quiz database supplying the remaining expressions and facilitating creation of a custom quiz-tree. Quiz-trees could be built on the server using client or web-client software, or built on the client and uploaded to the server.

Other formats of the game are possible. For example, an embodiment of the game could be played with players in the same physical proximity as in a television or Internet game show. Another embodiment could combine the broadcast of a studio-based game with an interactive mode of the game being played by spectator/players. A QNQ could be made out as a physical media game, with a card or notebook reference system connecting the main level trivia phrase or expression with the word-level quizzes. A simplified embodiment of the game could be presented on paper or cardboard, such as a ‘scratch card’ or perforated window method for hiding and revealing clues. A physical media implementation might rely on the pictorial tree view of FIG. 1. Alternatively, a QNQ could combine physical media with a computer based embodiment.

Player Modes

The sample combined guess-the-phrase-and-trivia-quiz embodiment could support different player modes, including “multi-player/auto-phrase”, “multi-player/hosted”, and “solitary player”. In multi-player/auto-phrase mode there are multiple players and the quiz-trees are selected automatically by the game system. Automated quiz-tree selection could be tuned by category, difficulty, quiz-type, etc., based on match parameters set by an administrator or agreed to by the players. In multi-player/hosted mode, a participant plays the role of a host and selects predefined or custom quiz-trees, for the players. In solitary player mode there is only one player. Other embodiments are possible.

In multi-player modes, the user interface presented to each player depends on whether the player has control or answering privilege of the game at a give moment. Players without the ability to act on the game at a given moment would be presented with an application-sharing view. This would include they key user interface components of the player with control or answering privilege. Alternatively, players without the ability to act would be presented the same user interface components as the player with control/answering privilege. However, functionality for initiating or responding to quizzes would be disabled. A combination of approaches can also be used.

Scoring System

A scoring system is provided for the present embodiment. Alternative scoring systems can be devised for different embodiments.

In multi-player embodiments, cumulative points may be earned for solving clues, revealing quiz-able-words, and especially for solving the top-level expression. The player with the most points at the end of a round would win the round, and the player with the most points at the end of a match would win the match. Players are deducted points for making incorrect guesses to quizzes, and/or solutions to quiz-able-words, and/or to the top-level expression.

In the present embodiment, the goal of each player is to solve the next-higher and eventually the top-level word or expression with the minimum number of clues necessary. In a multi-player embodiment, this goal is encouraged by awarding a high ratio of the total points available in a round to the player who solves the top-level phrase. Also, awarding points for new clues on a quiz-able-word is discontinued once a certain number of clues have been revealed on that word.

In a single-player embodiment, the same goal is encouraged by having a maximal number of point availability at the beginning of a round. Cumulative point deductions are made for quizzes taken, wrong guesses, and filler-words unmasked.

A round is completed with the solution of the top-level expression. As mentioned, not all possible clues have to be revealed, nor do all quiz-able-words have to be the subject of one or more quizzes. The goal of a round is to get the most points, which favors the player who solves the top-level expression.

An example of a scoring system for a multiple player mode of the combined guess-the-phrase and trivia game embodiment of a QNQ could be expressed as follows:

    • a. “n”, “x” and “y” are integers. “p”, “d”, “q” and “f” are real numbers that may have a decimal component.
    • b. “p” points are awarded to one player for solving the phrase.
    • c. “q” total points are allotted for each quiz-able-word that exists in the phrase. These points are distributed between one or more players for clues solved on each given quiz-able-word, and for revealing the quiz-able-word.
    • d. “q” points are always distributed for each quiz-able-word. When quiz-able-words are by-passed in the solution of the top-level phrase, outstanding quiz-able-word points on any unrevealed quiz-able-word(s) are distributed to the player who solves the top-level phrase.
    • e. When there are “n” quiz-able-words in the phrase, and “f” is a factor that that expresses the relative importance of solving the phrase compared to the rest of the quizzes. Then, “q=f×p/n”. The symbol “x” is the times symbol.
    • f. “x” is the number of clues revealed plus one (for revealing the quiz-able-word). “q/x” points are awarded for each clue found on a quiz-able-word up to the first “y” clues per word. “q/x” points are also awarded for revealing the quiz-able-word.
    • g. When a player solves a quiz-able-word with fewer than “y” clues revealed, the successful player is attributed the outstanding points for the remaining clues as if “y” clues had been revealed.
    • h. When a player by-passes the solution of any unrevealed quiz-able-word(s) to solve the top-level expression, that player is attributed the outstanding points on any quiz-able-word(s) as if “y” clues had been revealed and the quiz-able-word had been solved directly.
    • i. “d” points are deducted from a player for each incorrect guess or for voluntarily unmasking a filler-word.

Following the example round described, suppose a three player round with players “Betty”, “Ann” and “Sally”. Suppose Ann solves first clue 230A1 of the first quiz-able-word, Sally solves its second clue 230A2, and then solves first quiz-able-word 220A. Then suppose Betty solves first and second clues 230A3 and 230A4 of the second quiz-able-word, and solves the phrase, by-passing the solution of the second quiz-able-word 220B. Suppose that Betty makes three incorrect guesses, Ann makes one, and Sally one. Suppose Ann buys one filler-word.

Suppose that “f” is 1 and “n” is 2, and “p” is 500. Then “q” is “250”. Suppose that “y” is “3” and “d” is “50”.

At the end of the round, Betty will have earned 500 points for solving the phrase. Betty also earns 62.5 points (“(¼)×250”) each for two clues on the second quiz-able-word. Betty is also attributed 62.5 points as if she had solved one more clue on the second quiz-able-word. Betty is also attributed 62.5 points for revealing the second quiz-able-word when the phrase was solved. Betty is penalized 150 points for incorrect guesses. Betty's point total for the round is therefore 600.

Ann will have earned 62.5 points for solving one clue on the first quiz-able-word. Ann is also penalized 50 points each for an incorrect guess and for buying a filler-word. Ann's point total for the round is therefore negative 37.5.

Sally will have earned 62.5 points for solving one clue on the first quiz-able-word. Sally is also attributed 62.5 points as if she had solved one more clue on the second quiz-able-word. Sally is also attributed 62.5 for solving the second quiz-able-word. Sally is also penalized 50 points for an incorrect guess and her point total for the round is therefore 137.5.

Point totals for each round are accumulated by players until the match is finished. The player with the highest point total at the end of the match wins the match.

Many variations are possible in other embodiments. For example, the number of points available for solving a quiz-able-word was the same for solving a clue on a quiz-able-word (actually or by attribution), but these could be different. Also, there could be exceptions for point deductions. For example, a player who solves a clue might have an opportunity immediately following to make a guess without penalty in the case of a wrong attempt. A major variation would include adjustments for quiz difficulty, discussed further below. Other variations might include having player input into the number of points to be distributed for a round.

Other embodiments are possible which would not discourage the players from taking more quizzes than necessary to solve the top-level phrase. Some embodiments might not emphasize the solution of the top-level quiz. Such embodiments might simply use the hierarchical or chained structure of an embodiment and its supporting interface as a novel quiz framework.

Selection of Quizzes

In the present embodiment, quizzes are selected during a round of play based on player actions. In other embodiments, the system could select quizzes randomly or based on an integrated game of chance. Quizzes might pop-up based on some constant or random time interval or a musical rhythm.

In the present embodiment, quizzes were selected from defined categories. Other embodiments might emphasize sub-categorization, and quiz-difficulty ratings. Others might provide highly custom quizzes or to provide a handicapping system.

Control System and Answering System

Control is the ability of a player to determine the next step of the game through the user interface. In multi-player modes, control is passed between players. A control system refers to the management of defined rules to distribute control between players.

In the present embodiment, certain actions can be taken by a player with control. These include selecting a quiz on a quiz-able-word, unmasking a filler-word, guessing at a quiz-able-word or guessing at the top-level phrase. Control is passed from player to player in logical sequence based on the result of actions during a round. Control to start each round within a match is passed from player to player sequentially.

Answering rules denote the rules for answering a quiz without necessarily having control. Different embodiments could include token-based or “sequential” answering systems, and “first-response” answering systems. In a sequential answering system, players take turns attempting to answer a quiz, starting with the player in control. If the player in control passes or makes an incorrect guess, answering privilege passes to the next player in the control sequence.

In a first-response answering system all players can answer a quiz at the same time. The game system determines the first player to answer correctly and awards points to that player. Control passes to the player who solved the quiz.

Control and answering rules, in combination with scoring rules, can support the objective of solving the top-level quiz in as few steps as possible, or some other objective. The control and answering rules also tend to recognize previous achievement in the round. This is done by allowing a player to continue to control the round if no other player is having greater current success.

For multiple-player embodiments, time limits apply. A time limit applies to control wherein a player with control must take an action within a certain time. A time limit also applies to answering privilege wherein a player must make a guess within a certain time. A visual aid, such as answering-turn-display component 470 shown in FIG. 4, presents this time to the players. When a player does not act within the respective time limit, control or answering privilege is passed to the next player in the control sequence.

In the present embodiment, before a match begins, the control sequence of the players is established. The first player in the sequence has control at the start of the first round. The control sequence does not change during a match. At the beginning of a new round, control passes to the player who follows the player who had control at the beginning of the previous round.

A player with control can generally; guess at the phrase; guess at any unsolved quiz-able-word; reveal any unrevealed filler-word, and; initiate a trivia-quiz on a quiz-able-word, if applicable. Revealing a filler-word is restricted to once per possession of control.

If a phrase-guess is successful, the round is finished. If a quiz-able-word is solved or a filler-word is revealed, control is maintained. If a phrase or work guess is unsuccessful, control is passed the next player in sequence.

If a trivia-quiz is initiated, an answering privilege index is set, following the same sequence as the control sequence and starting with the player with control. All players have an opportunity to attempt the trivia-quiz until it is solved. If the trivia-quiz remains unsolved, the player with control maintains control. If solved, the player who provided the solution is granted control.

A player with answering privilege may voluntarily pass answering privilege to the next player in the control sequence. Answering privilege is lost if the time limit is exceeded. There are also rules to end a round when no further actions can be taken.

There is an advantage to starting a round in control. Therefore, the number of rounds per match should be evenly divisible by the number of players. Many other embodiments are possible. For example, control might pass automatically after a certain number of actions are taken regardless of whether the previous actions were successful. Players may also be able to interrupt control for certain actions, such as attempting the top-level phrase.

Quiz-Able-Word-to-Clue-Matching Criteria

Linked quizzes are formed on the basis of matching criteria that determine if a quiz answer is a suitable clue to a one-higher level quiz. An example matching criterion could be that a quiz-able-word is contained somewhere in a clue offered by a one-lower level quiz. Such was the case in the sample round, where quiz-able word “fly” was contained in the clue “Marty McFly”. Synonym matching was also shown.

The quiz-able-word-to-clue-matching criteria are displayed to all players at the start of a round or match as applicable (not shown). The criteria would continue to be viewable through some user interface component (not shown). An embodiment could provide user configurable matching criteria that could be determined by the players or the host depending on the player mode.

The number of total available quizzes available or quizzes-per-category available for each quiz-able-word does not have to be constant. However, there might be some minimum threshold of quizzes available for each quiz-able-word in an expression in order for the higher-level expression to qualify for use in an embodiment.

Quiz-to-Answer-Matching Criteria

Quiz-to-answer-matching criteria are rules used by a validation system. These rules specify how closely a guess must match a stored quiz answer in order for the attempt to be deemed successful. One example matching rule would be to dismiss the relevance of character case in any guess.

Quiz-to-answer-matching criteria would apply to a text-based trivia-quiz guessing design, as indicated by FIG. 5. It would also apply to a text-based quiz-able-word and phrase guessing design as indicated by FIGS. 10 and 12 respectively. Quiz-to-answer-matching criteria apply where user input is typed and where some leeway is to be provided. Quiz-to-answer matching criteria do not apply where guesses are of multiple choice or list selection types.

In the present embodiment, the correct answer from the quiz database is presented as the clue to the one-higher quiz. Other embodiments might present the guess instead.

Runtime Program Structure

The present embodiment includes a runtime computer program means. The runtime computer program means is described above and in the class diagram shown in FIG. 17 and in the sequence diagrams shown in FIGS. 18-32, 46-51, and 53-55.

Class Diagram—FIG. 17 The Model

A class diagram of the present embodiment is shown in FIG. 17. Classes 1709 thru 1720 represent the model. A node (“Node”) class 1711 generalizes the different types of nodes. An aggregation 1751 represents a child node referencing zero-to-one parent nodes. In the present embodiment, all nodes except the top-level expression are in a relationship in which they are a child node having exactly one parent node. An aggregation 1752 represents a parent node referencing zero-to-many child nodes. Terminal nodes at the end of a tree branch reference zero child nodes. Other nodes reference one or more child nodes. Instantiated nodes are identified by a unique identifier, such as an object ID.

Four subtypes of node are: a guess-the-phrase-phrase (“GuessThePhrPhr”) class 1714; a guess-the-phrase-word (“GuessThePhrWd”) class 1717; a trivia-quiz-answer (“TriviaQuizAnswer”) class 1716; and a trivia-quiz-question (“TrivQuizQues”) class 1713. In the combined-guess-the-phrase and trivia-quiz embodiment, these classes represent nodes at levels one, two, three and four respectively. Classes 1714, 1717, 1716, and 1713 are shown by lines 1772, 1761, 1760, and 1759, respectively, as well as 1792, as being generalized by 1711.

An aggregation 1763 indicates that a guess-the-phrase-phrase class 1714 instance is a parent of one-to-many guess-the-phrase-word class 1717 instances. An aggregation 1764 indicates that a guess-the-phrase-word class 1717 instance is the child of exactly one guess-the-phrase-phrase class 1714 instance. Guess-the-phrase-word class 1717 instances can be quiz-able-words or filler-words.

An aggregation 1770 indicates that a guess-the-phrase-word class 1717 instance is a parent of zero-to-many trivia-quiz-answer class 1716 instances. An aggregation 1762 indicates that a trivia-quiz-answer class 1716 instance is a child of exactly one guess-the-phrase-word class 1717 instance.

An aggregation 1758 indicates that a trivia-quiz-answer class 1716 instance is a parent to exactly one trivia-quiz-question class 1713 instance. Aggregation 1757 indicates that a trivia-quiz-question class 1713 instance is a child of exactly one trivia-quiz-answer class 1716 instance.

A trivia-quiz-category class (“TrivQuizCat”) class 1710 instance holds all of the categories that trivia-quizzes can be placed in. An aggregation 1750 indicates the trivia-quiz-question class 1713 referencing the trivia-quiz-category class 1710 with multiplicities of one and zero-to-many.

An aggregation 1753 indicates a tree (“Tree”) class 1712 referencing node class 1711 with multiplicities of many and one. Aggregation 1753 is shown linking the tree class 1712 with node class 1711; the actual links are between tree class 1712 and derived node classes 1713, 1714, 1716 and 1717. Each node belongs to exactly one tree and each tree has “many” nodes. In the present embodiment, a tree has a practical lower limit of five nodes. In other embodiments, a “tree” could have as few as three nodes, representing a linear sequence. While not essential at runtime, tree class 1712 represents quiz-trees as units and has quiz-tree level attributes and methods.

An aggregation 1754 indicates a round (“Round”) class 1715 referencing tree class 1712 with multiplicities of one and one. A tree can be in one round, and the same tree can be in no more than one round in the same match. A round can have only one tree in the present embodiment. An aggregation 1773 indicates a match (“Match”) class 1718 referencing round class 1715 with multiplicities of one-to-many and one. An aggregation 1766 indicates match class 1718 referencing a player (“Player”) class 1720 with multiplicities of one-to-many and one. An aggregation 1778 indicates round class 1715 referencing player (“Player”) class 1720 with multiplicities of one-to-many and one

A game (“Game”) class 1719 instance is responsible for; running a match, instantiating objects, accessing data via the other model classes, receiving messages from the view via a controller (“Controller”) class (or classes) 1740, and presenting the view.

Aggregations 1756, 1769, and 1771 indicate game class 1719 referencing trivia-quiz-question class 1713, trivia-quiz-answer class 1716, and guess-the-phrase-word class 1717, respectively, with generalized multiplicities of zero-to-many and one. Embodiments can support node persistence whereby nodes are instantiated as required. Depending on the management of node persistence, different multiplicities can arise. An aggregation 1765 indicates game class 1719 referencing guess-the-phrase-phrase class 1714 with multiplicities of one and one. In the present embodiment, the game would only ever access one top-level expression at a time. The multiplicity of one on the game side in aggregations 1756, 1769, 1771, and 1765 reflects that the same node is not shared by more than one game, since nodes contain state information.

Aggregation 1774 indicates game class 1719 referencing player class 1720 with multiplicities of one-to-many and one. Embodiments with players accessing more than one game are also possible. Association 1767 indicates an association between game class 1719 and match class 1718 with multiplicities of one and one. Association 1768 indicates an association between game class 1719 and round class 1715 with multiplicities of one-to-many and one. Association 1755 indicates game class 1719 accessing tree class 1712.

A clock (“Clock”) class 1709 maintains time for purposes of managing answering privilege and control. Aggregation 1775 indicates game class 1719 referencing clock class 1709 with multiplicities of one and one. In the present embodiment, time to respond is maintained in the model and there is no need to maintain time for control and answering privilege simultaneously. Embodiments with other multiplicities are possible.

The View

The view is represented by classes numbered between 1721 and 1732. Shown are associations between the game class and the view classes. On the view side a lower multiplicity of zero indicates that the component does not have to be instantiated at any given moment of time.

In multi-player modes, player(s) without the ability to take action on the game will have view access to the interface presented to the player who can take action on the game. This can be accomplished through application sharing technology. The player with ability to take action has control access. View access allows players without control to see what actions are being taken on the game. If answering privilege is assigned to a player, only the player with answering privilege will be able to take an action on the game. If answering privilege is not assigned to any player, only the player with control will be able to take an action on the game.

Shown are a quiz-and-word-guessing-selector-graphical-user-interface (“Q_W_GuessSelGUI”) class 1726, depicted in FIG. 3, a buy-filler-word-menu-GUI (“BuyFillerWdMenuGUI”) class 1727, depicted in FIG. 7, and a trivia-quiz-GUI (“TriviaQuizGUI”) class 1725, depicted in FIGS. 4 and 5. Associations 1786, 1787, and 1782, indicate an association between game class 1719, and view classes 1726, 1727, and 1725, respectively. Each of these associations is represented by a line extending from game class 1719 to the respective view class. In each of associations 1786, 1787, and 1782, the multiplicities are zero-to-one and one.

Shown are a navigation-mode-GUI (“NavModeGUI”) class 1729, first depicted graphically at runtime in FIG. 2, a word-guessing-mode-GUI (“WdGuessingModeGUI”) class 1728, depicted in FIG. 10, a phrase-guessing-mode-GUI (“PhrGuessingModeGUI”) class 1730, depicted in FIGS. 11 and 12, and a finished-mode-GUI (“FinishedModeGUI”) class 1731, depicted in FIG. 13. Classes 1728 through 1731 are generalized by a phrase-component-GUI (“PhraseComponentGUI”) class 1732. Classes 1731, 1729, 1730, and 1728 are shown by lines 1788, 1789, 1790, and 1791, respectively, as well as 1793, as being generalized by 1732.

Associations 1783, 1785, and 1784, indicate an association between game class 1719, and view classes 1729, 1728, and 1730, respectively. Each of these associations is represented by a line extending from game class 1719 to the respective view class. In each of associations 1783, 1785, and 1784, the multiplicities are zero-to-one and one. Furthermore, only-one type of phrase-component-GUI class 1732 will be displayed at a time.

Controller (“Controller”) class 1740 represents one or more controllers accessed by view classes 1725 through 1730. The controller class passes messages from the applicable view classes to game class 1719. Association 1779 represents all of the associations between controller class 1740 and classes 1725 through 1730. In each case there is a multiplicity of one on controller class 1740 and zero-to-one on view classes 1725 through 1730. Association 1780 shows controller class 1740 accessing game class 1719.

Shown is a turn-GUI (“TurnGUI”) class 1721, graphically depicted as answering-turn-display component 470 in FIGS. 4 and 5. Also shown is a control-and-score-GUI (“Cntl&ScoreGUI”) class 1724, graphically depicted in FIG. 95 as a score-and-control component 9530.

Classes 1721, 1724 and 1731 are not subject to player action and do not access controller class 1740. Associations 1776, 1777, and 1781 indicate an association between game class 1719, and view classes 1721, 1724, and 1731 respectively. The multiplicities for associations 1776 and 1781 are zero-to-one and one. The multiplicities for association 1777 are one and one.

At the beginning of a game, an instance of game class 1719 initializes a new game, the player(s), a new match, and a new round. The game instance creates an instance of guess-the-phrase-phrase class 1714. It also obtains the top-level expression for the round by initializing guess-the-phrase-word class 1717 objects for each word in the phrase. The game instance takes the key information from these nodes and passes it to navigation-mode-GUI class 1729 object, which it instantiates. As part of initialization, the game sets control to a player in the model. The game creates sessions with each gaming device, and passes a player reference to each client. The game also instantiates control-and-score-GUI class 1724. In multi-player modes, the game also grants view access to players without the ability to take action. It also manages alternation between control and view access as control and answering privilege alternate.

When node information is sent from the model to the view, a unique identifier or reference for each node is sent to the clients. The view passes this reference to a controller class 1740 instance with user interface events directed to the model. Each node that is available for display or querying in the view is therefore related back to the model.

Sequence Diagram—Get-Quiz-and-Word-Guessing-Selector GUI—FIG. 18

FIG. 18 shows the sequence diagram for displaying the quiz-and-word-guessing-selector component depicted in FIG. 3. A navigation-mode-GUI (“NavModeGUI”) object 1810 is an instance of navigation-mode-GUI class 1729. It is depicted as the phrase component in navigation mode, shown in FIG. 2. Navigation-mode-GUI object 1810 sends a message 1850 to get the quiz-and-word-guessing-selector component (“getQ_W_GuessSelGUI( . . . )”) to a controller object 1814. Controller object 1814 is an instance of controller class 1740. Message 1850 requests the display of the quiz-and-word-guessing-selector GUI. Message 1850 is invoked by a mouse over event over a hyperlinked quiz-able-word. The message passes a guess-the-phrase-word node ID (“GTPWdNdID”) 1850A, which is a unique id for the quiz-able-word on which the event occurred. A reference 1850B to the current player (“player”) is also passed.

Next, controller object 1814 calls a get-trivia-quiz-by-category-total (“getTrivQuizByCatTot( . . . )”) method 1852 of game object 1816. Game object 1816 is an instance of game class 1719. Game object 1816 calls its validate-control (“validateControl( . . . )”) method 1854 to validate that player 1850B has control. Game object 1816 then calls a get-node-state (“getNodeState( )”) method 1856 of a guess-the-phrase-word object 1818 for the guess-the-phrase-word node ID. Object 1818 is an instance of class 1717.

A node can be in various states which resolve to the node being either available or unavailable for further activity. For example, a node could be “answered”, making it unavailable for further activity. On a condition 1858 that the node-state is available (“[nodeState=“avail”]”), game object 1816 calls its set-active-node (“setActiveNode( . . . )”) method 1859 to set guess-the-phrase-word node ID 1850A as the active node. Setting a node as active indicates it to be the node set to receive further player actions. If the node state is not available, error handling (not shown) will reject the sequence and send an appropriate response to the user interface. Condition check 1858 in the model should not find an unavailable node. This is because the user interface is updated to reflect the states in the model.

Game object 1816 next calls a get-trivia-quiz-by-category-total (“getTrivQuizByCatTot( )”) method 1860 of 1818. Object 1818 returns trivia-quiz-by-category-total (“trivQuizByCatTot”) 1862, an array of the total number of trivia-quizzes by category. It next invokes a display quiz-and-word-guessing-selector-GUI (“displayQ_W_GuessSelGUI( . . . )”) method 1864 to instantiate quiz-and-word-guessing-selector-GUI object 1812, with 1850A and array 1862 containing the total number of trivia-quizzes by category. Object 1812 is an instance of class 1726. Quiz-and-word-guessing-selector-GUI object 1812 is graphically depicted in FIG. 3. The steps in FIG. 18 are generally part of the selector means. They include obtaining trivia-quiz summary information from the node identification value of the quiz-able word. This is displayed in the quiz-and-word-guessing selector prior to selection of a quiz.

Sequence Diagram—Select-a-Trivia-Quiz—FIG. 19

FIG. 19 shows a sequence diagram for displaying a trivia-quiz GUI. Quiz-and-word-guessing-selector-GUI object 1812 for the player with control sends a get-trivia-quiz-GUI (“getTriviaQuizGUI( . . . )”) message 1950 to controller object 1814. Message 1950 includes guess-the-phrase-word node ID 1850A, a reference 1850B to the player, and a category (“cat”) 1950A which the next trivia-quiz is to be selected from.

Next, controller object 1814 sends a get-trivia-quiz-by-category (“getTrivQuizByCat( . . . )”) message 1952 to game object 1816, to get the next trivia-quiz by category, passing 1850A, 1850B, and 1950A. Game object calls its validate-control method 1854 to validate that player 1850B has control. It then calls a next-trivia-quiz-by-category-index (“nextTrivQuizbyCatIndx( . . . )”) method 1954 of guess-the-phrase-word object 1818 for the guess-the-phrase-word node ID, passing category 1950A. Method 1954 increments a trivia-quiz-category index by one.

Game object 1816 next calls a lookup-next-trivia-quiz-answer-node (“lookupNextTQANd( . . . )”) method 1956 of guess-the-phrase-word object 1818 for the guess-the-phrase-word node, to get a reference to the next trivia-quiz answer node in an array for supplied category 1950A.

Game object 1816 next calls a lookup-trivia-quiz-question-node (“lookupTQQNd( )”) method 1958 of a trivia-quiz-answer object 1910 for the trivia-quiz-answer node. Object 1910 is an instance of class 1716. Object 1910 returns a reference 1959 to the trivia-quiz-question node (“TQQNd”).

Game object 1816 next calls a get-node-state (“getNodeStateo”) method 1960 of a trivia-quiz-question object 1912 for the trivia-quiz-question node (“TQQNd:TrivQuizQues”). Object 1912 is an instance of class 1713. On condition 1858 that the node state is available, game object 1816 calls its set-active-node (“setActiveNode( . . . ”) method 1962 to set trivia-quiz-question node ID (“TQQNdID”) 1962A as the active node. Game object 1816 next calls a get-question-information (“getQuestionInfo( )”) method 1964 of 1912.

Methods 1950 to 1964 of FIG. 19 can generally be classified as describing part of the selector means for selecting the trivia quiz.

Game object 1816 next updates the view. It sends a close-quiz-and-word-guessing-selector-GUI (“closeQ_W_GuessSelGUI( )”) message 1966 to close quiz-and-word-guessing-selector-GUI object 1812. Game object 1816 next sends a display-trivia-quiz-GUI (displayTriviaQuizGUI( . . . )”) message 1968, instantiating a trivia-quiz-GUI object 1914. Object 1914 is an instance of class 1725. Message 1968 passes trivia-quiz-question node ID 1962A, and trivia-quiz question 1968A which is the text for the question. An example of this text as represented in the interface is 412A1 of FIG. 4. Message 1968 also passes a trivia-quiz-by-category-index (“trivQuizByCatIndx”) parameter 1968B. Parameter 1968B is the index of the question for the given category 1950A. Parameter 1968B enables the interface to represent 410A2 of FIG. 4. Message 1968 also passes a trivia-quiz-by-category-total (“trivQuizByCatTot”) parameter 1968C. This is the total number of trivia-quizzes or trivia-quiz questions within the selected category 1950A for the given guess-the-phrase-word. Parameter 1968C is represented as 410A3 in FIG. 4. Message 1968 also passes category 1950A. This is represented as 410A1 in FIG. 4. Game object 1816 also displays answering-turn-display component 470 of FIG. 4. In the present embodiment, method 1968 of FIG. 19 provides detail on the first exposure means.

A display-turn-GUI (“displayTurnGUI( )”) message 1970 instantiates a turn-GUI object 1916. Message 1970 passes; an array of players, in order of control (“controlSeq”) 1970A, an index 1970B of 1970A for the player with answering privilege (“ansPrivIndex”), and a reference to a “clock” object 1970C, to keep the time remaining for an answer.

Sequence Diagram—Attempt Trivia-Quiz—FIG. 20

FIG. 20 shows the sequence diagram for attempting a trivia-quiz to the point of the game object checking the attempt. Trivia-quiz-GUI object 1914 for the player with control sends a submit-guess (“submitGuess( . . . )”) message 2050 to controller object 1814, passing; trivia-quiz-question node ID 1962A, reference 1850B to the player, and an attempt (“attempt”) 2050A representing the text guess submitted by the player. Method 2050 deals with a first guessing means. The rest of FIG. 20 generally deals with a first validation means.

Controller object 1814 sends a validate-attempt (“validateAttempt( . . . )”) message 2052 to game object 1816, passing 1962A, 1850B, and 2050A. Next, game object 1816 calls its validate-answering-privilege (“validateAnsPriv( . . . )”) method 2054 to validate that the player has answering privilege. It then calls a lookup-trivia-quiz-answer-node (“lookupTQANd( )”) method 2056 of trivia-quiz-question object 1912 for the trivia-quiz-question node, getting a reference 2057 to the trivia-quiz answer node (“TQANd”).

Game object 1816 next calls a get-node-state (“getNodeState( )”) method 2058 of trivia-quiz-answer object 1910 for the trivia-quiz-answer node. On condition 1858 that the node state is available, game object 1816 calls a set-active-node (“setActiveNode( . . . )”) method 2059 for a trivia-quiz-answer node, to set a trivia-quiz-answer node ID (“TQANdID”) 2059A as the active node.

Game object 1816 next calls a get-valid-answers (“getValidAnswers( )”) method 2060 of object 1910, which returns an array of valid answers (“validAnswers[ ]”) 2061. Each valid answer in array 2061 is considered a successful match for the corresponding question. Object 1816 next calls its check-attempt (“checkAttempt( . . . )”) method 2062 to check attempt 2050A against array of valid answers 2061. The result is ‘success’ or ‘failure’, which determines the subsequent sequence.

Sequence Diagram—Trivia-Quiz Correct Attempt Part 1—FIG. 21

FIG. 21 shows part one of the sequence when a trivia-quiz guess gives a successful result. Game object 1816 sends a set-node-state (“setNodeState( . . . )”) message 2150 to trivia-quiz-question object 1912 for the trivia-quiz-question node. Message 2150 passes an “answered” value 2150A which sets the node-state to “answered”. Game object 1816 also sends a set-node-state (“setNodeState( . . . )”) message 2152 to trivia-quiz-answer object 1910 for the trivia-quiz-answer node, passing 2150A. This sets the node state of 1910 to “answered”.

Game object 1816 calls a get-answer (“getAnswer( )”) method 2154 of 1910. This method gets the exact answer for the trivia-quiz question that will be displayed in the user interface. Game object 1816 next calls a lookup-guess-the-phrase-word-node (“lookupGTPWNd( )”) method 2156 of trivia-quiz-answer object 1910 for the trivia-quiz-answer node to get a reference to the guess-the-phrase-word node. Game object 1816 then calls a lookup-guess-the-phrase-phrase-node (“lookupGTPPNd( )”) method 2158 to get a reference 2160 to the (top-level) guess-the-phrase-phrase node. Game object 1816 next calls its set-active-node (“setActiveNode( . . . )”) method 2162 to set the active node to guess-the-phrase-phrase node ID (“GTPPNdID”) 2162A.

Game object 1816 next initiates an update-score (“updateScore( . . . )”) sequence 2164, passing a reference to the player (“player”) 1850B whose score is to be updated and the points (“points”) 2164A, by which the score is to be updated. The score is updated in a round object 2110, which is a current instance of round class 1715. The score is also updated in a match object 2112, which is a current instance of match class 1718. Update-score sequence 2140 is covered with FIG. 22.

On a condition 2165 that the player who answered the question is not the player who currently has control, game object 1816 calls its set-control-index (“setControlIndex( . . . )”) method 2166 to set control to current player 1850B. Game object 1816 calls its reset-answering-privilege-index (resetAnsPrivIndex( )”) method 2168 to reset the answering-privilege index to the index number of the player with control.

Sequence Diagram—Update Score—FIG. 22

FIG. 22 shows the update-score sequence diagram. Game object 1816 calls an update-score (“updateScore( . . . )”) method 2250 of round object 2110, passing a reference to the player 1850B whose score is to be changed, and the points (“points”) 2164A by which the player's score is to be changed. It then calls a get-scores (“getScores( )”) method 2252 of round object 2110 to get an array of player scores for the current round.

Game object 1816 also calls an update-score (“updateScore( . . . )”) method 2254 of match object 2112, passing 1850B and 2164A. It then calls a get-scores (“getScores( )”) method 2256 of match object 2112 to get an array of player scores for the match.

Sequence Diagram—Trivia-Quiz Correct Attempt Part 2—FIG. 23

FIG. 23 shows part two of the sequence when the attempt for a trivia-quiz is correct, continuing from FIG. 21. Game object 1816 sends a close-trivia-quiz-GUI (“closeTriviaQuizGUI( )”) message 2350 to close trivia-quiz-GUI object 1914. Game object 1816 also sends an update-navigation-mode-GUI (“updateNavModeGUI( . . . )”) message 2352 to navigation-mode-GUI object 1810. Message 2352 passes trivia-quiz-answer-node ID 2059A and a trivia-quiz answer (“triviaAnswer”) 2352A to be displayed by navigation-mode-GUI object 1810. In FIG. 23, message 2352 generally deals with a second exposure means.

Game object 1816 also calls an update-control-and-score-GUI (“updateCntrl&ScoreGUI( . . . )”) message 2354 to control-and-score-GUI (“Cntrl&ScoreGUI”) object 2310. Object 2310 is an instance of class 1724. Score-and-control component 9530 is depicted in FIG. 95. Message 2354 passes an array of player scores for the round (“round.player.score[ ]”) 2354A, and match (“match.player.score[ ]”) 2354B, an array of players, in order of control (“controlSeq”) 1970A, and an index 2354C of 1970A for the player with control (“cntrlIndex”).

Sequence Diagram—Trivia-Quiz Incorrect Attempt—FIG. 24

FIG. 24 shows the sequence diagram when a trivia-quiz guess is incorrect. Game object 1816 initiates update-score sequence 2164, passing player reference 1850B and points 2164A. The score is updated in round object 2110 and match object 2112 as detailed in update-score sequence 2140 (FIG. 22). Game object 1816 then calls its next-answering-privilege (“nextAnsPriv( )”) method 2450 to pass answering privilege to the next player in sequence.

An alternative combination fragment 2452 contains two mutually exclusive message sequences. Condition 2454 describes a case where one or more players have yet to respond to the current trivia-quiz. Condition 2454 checks that control index 2354C value is not equal to answering-privilege index 1970B value. On condition 2454, an update-trivia-quiz-GUI (“updateTrivQuizGUI( . . . )”) message 2456 is sent to trivia-quiz-GUI object 1914, passing trivia-quiz-question node ID 1962A.

Alternatively, on a condition 2458 that control index 2354C value is equal to answering-privilege index 1970B value, a close-trivia-quiz-GUI (“closeTriviaQuizGUI( )”) message 2460 is sent to trivia-quiz-GUI-object 1914. Game object 1816 then calls its reset-answering-privilege-index (“resetAnsPrivIndex( )”) method 2168 to reset the answering-privilege index. Method 2168 sets the answering-privilege index to the control index. Game object 1816 next calls a lookup-trivia-quiz-answer-node method 2056 of trivia-quiz-question object 1912 for the trivia-quiz-question node. It gets a reference (not shown) to the trivia-quiz-answer-node. Game object 1816 then calls lookup-guess-the-phrase-word-node method 2156 to get a reference to the guess-the-phrase-word node (not shown). Game object 1816 next calls lookup-guess-the-phrase-phrase-node method 2158 to get a reference (not shown) to the guess-the-phrase-phrase node. Game object 1816 next calls its set-active-node method 2162 to set the active node to guess-the-phrase-phrase node ID 2162A. Game object 1816 then sends an update-navigation-mode-GUI message 2352 to navigation-mode-GUI object 1810, passing guess-the-phrase-phrase node ID 2162A.

With either alternative, game object 1816 sends an update-control-and-score-GUI message 2354 to control-and-score-GUI object 2310. Message 2354 includes round and match scores 2354A and 2354B, as well as control sequence array 1970A and control index 2354C.

Sequence Diagram—Trivia-Quiz Pass—FIG. 25

FIG. 25 shows the sequence diagram when a player passes on making an attempt at solving a trivia-quiz. A pass (“pass( . . . )”) message 2550 is sent from trivia-quiz-GUI object 1914 to controller object 1814. Message 2550 includes trivia-quiz-question node ID 1962A and a reference 1850B to the player. Controller object 1814 sends a pass message 2552 to game object with parameters 1962A and 1850B.

Game object 1816 calls its validate-answering-privilege method 2054 to validate that player 1850B has answering privilege. If for any reason player 1850B does not have answering privilege, error handling (not shown) occurs. Game object 1816 next calls next-answering-privilege method 2450 to pass answering privilege to the next player in sequence. Alternative combination fragment 2452, describing the remainder of the sequence, is the same as in FIG. 24.

Sequence Diagram—Attempt Word—FIG. 26

FIG. 26 shows the sequence diagram when a player attempts to solve a quiz-able-word. When a player with control opts to solve a word, navigation-mode-GUI object 1810 is replaced by a word-guessing mode-GUI object 2610 based on an exchange of messages from the view to the controller and game and back to the view (not shown). Object 2610 is an instance of class 1728 from FIG. 17.

Next, a submit-word-guess (“submitWordGuess( . . . )”) message 2650 is sent from word-guessing-mode-GUI (“WdGuessingModeGUI”) object 2610 to controller object 1814. Passed in message 2650 are guess-the-phrase-word node ID 1850A, a reference 1850B to the player, and a word attempt (“wordAttempt”) 2650A. Message 2650 deals with a second guessing means. The rest of FIG. 26 generally deals with a second validation means.

Next, controller object 1814 send a validate-word-attempt (“validateWordAttempt( . . . )”) message 2652 to game object 1816, passing 1850A, 1850B and 2650A. Game object 1816 next calls its validate-answering-privilege method 2054, validating if player 1850B has answering privilege. It next calls get-node-state method 1856 of guess-the-phrase-word instance 1818 for the guess-the-phrase-word node. On condition 1858 that the node state is available, game object 1816 calls its set-active-node method 1859 to set the active node to the guess-the-phrase-word node ID 1850A. Game object 1816 then calls a get-valid-answers (“getValidAnswers( )”) method 2654 of guess-the-phrase-word instance 1818 for the guess-the-phrase-word node. Method 2654 returns an array of valid word answers (“validWdAnswers[ ]”) 2655. Game object 1816 next calls its check-word-attempt (“checkWordAttempt( . . . )”) method 2656 to check word attempt 2650A against array of valid answers 2655.

Sequence Diagram—Word Correct Attempt—FIG. 27

FIG. 27 shows the sequence diagram when an attempt at a quiz-able-word is correct. Game object 1816 calls a set-node-state (“setNodeState( . . . )”) method 2750 of guess-the-phrase-word instance 1818 for the guess-the-phrase-word node. Message 2750 passes an “answered” value 2150A which sets the node-state to “answered”.

Game object 1816 next calls a get-answer (“getAnswer( )”) method 2752 of object 1818. Method 2752 gets the exact answer for the word that will be displayed in the user interface. Game object 1816 then calls lookup-guess-the-phrase-phrase node method 2158 to get a reference 2160 to the guess-the-phrase-phrase node. Object 1816 next calls its set-active-node method 2162 to set the active node to guess-the-phrase-phrase node ID 2162A.

Game object 1816 next initiates update-score sequence 2164, passing player reference 1850B and points 2164A. The score is updated in round object 2110, and in match object 2112 as detailed in update-score sequence 2140 (FIG. 22).

On condition 2165 that the player who answered the question is not equal to the player who currently has control, game object 1816 calls its set-control-index method 2166 to set control to the current player 1850B. Game object 1816 next calls its reset-answering-privilege-index method 2168 to reset the answering-privilege index to the index number of the player with control.

Game object 1816 next sends an update-navigation-mode-GUI message 2352 to navigation-mode-GUI object 1810. Message 2352 passes 2162A and a word answer (“wordAnswer”) 2753 to be displayed in the phrase component. In FIG. 27, message 2352 deals with a third exposure means. Game object 1816 also sends update control-and-score-GUI message 2354 to control-and-score-GUI object 2310, passing 2354A, 2354B, 1970A, and 2354C.

Sequence Diagram—Word Incorrect Attempt—FIG. 28

FIG. 28 shows the sequence when a guess at a quiz-able-word is incorrect. Game object 1816 sends update-score messages 2164, passing 1850B and 2164A. The score is updated in round object 2110 and match object 2112 as detailed in update-score sequence 2140.

Game object 1816 calls its next-control (“nextControl( )”) method 2850 to pass control to the next player in the control sequence. Object 1816 then calls its reset-answering-privilege-index method 2168.

Game object 1816 next calls lookup-guess-the-phrase-phrase-node method 2158 of object 1818 to get a reference to the guess-the-phrase-phrase node. It next calls its set-active-node method 2162, setting the active node to guess-the-phrase-phrase node ID 2162A. Game object 1816 then sends update-navigation-mode-GUI message 2352 to navigation-mode-GUI object 1810, passing guess-the-phrase-phrase node ID 2162A. Object 1816 then sends update-control-and-score-GUI message 2354 to control-and-score-GUI object 2310, passing 2354A, 2354B, 1970A, and 2354C.

Sequence Diagram—Buy Word—FIG. 29

FIG. 29 shows the sequence for buying a filler-word. A buy-filler-word-menu-GUI (“BuyFillerWdMenuGUI”) object 2910 sends a buy-filler-word (“buyFillerWord( . . . )”) message 2950 to controller object 1814, passing guess-the-phrase-word node ID 1850A and player reference 1850B. Controller object 1814 sends a buy-filler-word message 2952 to game object 1816, passing 1850A and 1850B. A buy-filler-word-check (“buyFillerCheck( )”) method 2954, checks that a filler-word was not bought since control was reset. If the check shows that a filler-word was bought since control was reset, error handling occurs (not shown). This should not occur, since the view is updated to prevent players from taking invalid actions. An index for method 2954 is maintained when control is reset (not shown).

Game object 1816 calls validate-control method 1854. Object 1816 next calls get-node-state method 1856 of the guess-the-phrase-word object. On condition 1858 that the node state is available, game object 1816 calls set-active-node method 1859 to set the active node to guess-the-phrase-word node ID 1850A. Game object 1816 then calls get-answer method 2752 of guess-the-phrase-word instance 1818 for the guess-the-phrase-word node, to get the filler-word answer. Object 1816 then calls set-node-state method 2750 of 1818 to set the node state to “revealed” 2955.

Game object 1816 next sends update-score messages 2164, passing 1850B and 2164A. Score is updated in round object 2110, and match object 2112 as detailed in update-score sequence diagram 2140.

Game object 1816 sends an update message 2352 to navigation-mode-GUI object 1810, passing phrase node ID 2162A, word node ID 1850A, and word answer 2753. Game object 1816 also sends an update message 2354 to control-and-score-GUI object 2310, passing round and match scores 2354A and 2354B, control sequence array 1970A and control index 2354C.

Sequence Diagram—Attempt Phrase—FIG. 30

FIG. 30 shows the sequence for an attempt to solve the top-level phrase. When a player with control opts to solve the phrase, navigation-mode-GUI object 1810 is replaced by phrase-guessing mode-GUI object 3010 based on an exchange of messages from the view to the controller and game and back to the view (not shown). Phrase-guessing-mode-GUI object 3010 sends a submit-phrase-guess message 3050 to controller object 1814, passing 2162A, 1850B, and a phrase-attempt array containing the phrase attempt (“attempt[ ]”) 3050A. Phrase-attempt array 3050A is indexed for each word in the phrase and contains a null value for previously revealed words.

Controller object 1814 sends a submit-phrase-guess message 3052 to game object 1816, passing 2162A, 1850B, and 3050A. Game object 1816 calls its validate-answering-privilege method 2054 to validate that player 1850B has answering privilege. Game object 1816 then calls get-node-state method 3054 of a guess-the-phrase-phrase object 3012 for the guess-the-phrase-phrase node. On condition 1858 that the node state is available, game object 1816 calls its set-active-node method 2162 to set the guess-the-phrase-phrase node 2162A as active.

A loop-combined fragment 3058 shows the sequence for validating the phrase attempt word by word. Loop 3058 continues while condition 3059 is met. Condition 3059 checks that the previous word in the phrase that was submitted for checking was found to be correct. For each “n” 3056A word in the phrase, game object 1816 calls a lookup-nth-guess-the-phrase-word node (“lookupGTPWdNd(n)”) method 3056 of guess-the-phrase-phrase object 3012.

Game object 1816 next calls a get-nth-word-node-state (“getNodeState(n)”) method 3062 of n-th guess-the-phrase-word object 3060A. On a condition 3063 that the n-th word node-state is unsolved, game object 1816 calls a get-valid-answers (“getValidAnswers( )”) method 3064 of the n-th guess-the-phrase-word object 3060A. Game object 1816 calls a check-word-attempt (“checkWdAttempt( )”) method 3066 to validate n-th word attempt 3050B against an array of valid answers 3065. If the loop executes without breaking, the phrase attempt is valid; otherwise it is invalid.

Sequence Diagram —Attempt Phrase Incorrect Attempt—FIG. 31

FIG. 31 shows the sequence for an incorrect attempt to solve the top-level phrase. Game object 1816 sends update-score messages 2164, passing 1850B and 2164A. The score is updated in round object 2110, and match object 2112 as detailed in update-score sequence 2140 shown in FIG. 22.

Game object 1816 calls its next-control method 2850 to pass control to the next player in the control sequence. Game object 1816 then calls reset-answering-privilege-index method 2168. Game object 1816 next sends an update-navigation-mode-GUI message 2352 to navigation-mode-GUI object 1810, passing guess-the-phrase-phrase node ID 2162A. Game object 1816 also sends message 2354 to control-and-score-GUI object 2310, passing 2354A, 2354B, 1970A, and 2354C.

Sequence Diagram —Attempt Phrase Correct Attempt—FIG. 32

FIG. 32 shows the sequence for a correct attempt to solve the phrase. Game object 1816 calls set-node-state method 3250 of guess-the-phrase-phrase object 3012 for the guess-the-phrase-phrase node to set its state as “answered” 3250A. Game object 1816 next calls get-phrase-answer (“getPhraseAnswer( )”) method 3252 of guess-the-phrase-phrase object 3012. Object 3012 returns phrase answer (“PhraseAnswer[ ]”) 3253, a sequential array of words comprising the phrase.

Game object 1816 sends update-score messages 2164. Score is updated in round object 2110, and match object 2112 as detailed in update-score sequence 2140 shown in FIG. 22.

Game object 1816 sends a draw-finished-mode-GUI (“drawFinishedModeGUI( . . . )”) message 3254 to a finished-mode-GUI-object 3210, which replaces navigation-mode-GUI object 1810. Message 3254 passes 2162A and phrase answer 3253. Game object 1816 also sends message 2354 to control-and-score-GUI object 2310, passing 2354A, 2354B, 1970A, and 2354C.

Quiz Database

The features of the present embodiment, as well as other embodiments to follow, are supported by a quiz database. The relational database design contains structures for supporting a game, as well as for building quiz-trees and maintaining history information.

Quiz-Generation Schema—FIGS. 33-40

A discussion of the schema used for quiz-generation is included in the discussion of FIGS. 33 to 40. Some of the entities discussed in FIGS. 33-40 also supply quiz data at game runtime. Custom computer code facilitates the generation of complete quiz-trees from data in the quiz-generation schema. Nodes are recursively associated in a node entity, providing a basis for linking clues and answers to form quizzes, and for linking quizzes to one another.

Entity Relationship Diagram—FIG. 33

A quiz database can contain raw information on which quiz-trees are to be built. FIG. 33 shows expression (“Expression”) entity 3310 which represents expressions, or phrases that can be used to make quizzes. In the context of the schema, expressions have their words stored separately.

Each expression in expression entity 3310 is identified by a primary key “ExpressionID” 3310A. A primary key column 3352 is indicated by a symbol “PK” 3350. Attributes are used to help classify expressions to assist in customizing and automating the assembly of quiz-trees. Attributes for expression entity 3310 include; a number of words in an expression (“NumWords”) 3310B, a number of quiz-able-words in an expression (“NumQuizzableWords”) 3310C, and a number of filler or non-quiz-able-words in an expression (“NumNonQuizzableWords”) 3310D. Other attributes are flags “IsSuitableForQuestionYN?” 3310E, “IsSuitableForAnswerYN?” 3310F and “IsSuitableForGuessThePhraseYN?” 3310G that indicate the suitability of the expression for specific types of nodes.

FIG. 33 shows the relationship between expression entity 3310 and a canned quiz (“CannedQuiz”) entity 3311. Canned quiz entity 3311 contains data for “canned” quizzes. A canned quiz question (clue), represented as a question-text (“QuestionTxt”) attribute 3311B, is a string that is not stored as its component words. It is generally an expression (having more than one word), although not a schema expression as defined. A corresponding answer to a canned quiz question is represented by primary key 3310A of expression entity 3310. This is a foreign key “ExpressionID_Answ” 3311A in 3311. A symbol “PF” 3354 is used to denote a foreign-key-primary-key column 3356. An example of a canned-quiz question is 412A1 of FIGS. 4 and 5. An example of an answer to a canned quiz is the answer to 412A1, shown as 416A of FIGS. 5 and 230A1 of FIG. 6. The purpose of storing a quiz answer by its words, using expression entity 3310 is to assist in relating those words, represented as nodes, to other nodes in a quiz-tree. There is a cardinality of zero-or-one 3358 between canned quiz entity 3311 and expression entity 3310, indicating there are other types of expressions besides canned-quiz answers. Canned quiz entity 3311 also has attributes “TotalCorrectAttempts” 3311C and “TotalWrongAttempts” 3311D to record history information. Attributes 3311C and 3311D can be used to customize quizzes by difficulty as calibrated by player responses. They are exemplary of the type of supporting data that can be stored.

A subject category (“SubjectCategory”) entity 3314 contains a primary key, category code (“CategoryCode”) 3314A and an attribute “CategoryDescription” 3314B. Composite entity “CannedQuiz_SubjectCategory” 3312 contains a composite key comprising foreign-key-primary-key column 3312A from primary key 3311A of entity 3311, and foreign-key-primary-key column 3312B from primary key 3314A of entity 3314. Subject category information is stored at the expression-level to assist in building quiz-trees comprising categorized quizzes.

Entity Relationship Diagram—FIG. 34

Expression entity 3310 has a one-to-many relationship with an expression-word (“ExpressionWord”) entity 3410. Entity 3410 represents the words that are contained in expressions. Entity 3410 has a composite primary key consisting of a foreign-key-primary-key column 3410A from primary key 3310A of entity 3310 and a word-number-in-expression (“WordNumInExp”) attribute 3410B. Attribute 3410B records the word position in its expression. Entity 3410 contains attribute “IsDictionaryWordYN?” 3410C. This attribute indicates whether or not an expression-word is a dictionary-word. A dictionary-word is a word derived from an external or custom dictionary. If an expression word is not a dictionary word it is a non-dictionary word. A non-dictionary word might by a word like “McFly”, a fictional last name that is not established in the lexicon. However, in the remaining discussion, it is assumed all expression-words are stored in dictionary word entity 3416. Entity 3410 contains attribute “IsQuizzableWordYN?” 3410D. Attribute 3410D indicates whether or not an expression-word is a quiz-able-word in its expression. If a word is not a quiz-able-word it is a filler-word. Expression-word entity 3410 contains attribute “IsCapitalizedYN?” 3410E. Attribute 3410E indicates whether or not an expression-word appears with capitalization in its phrase, such as a first or last name.

A dictionary-word (“DictionaryWord”) entity 3416 contains words that are sourced from a dictionary. Entity 3416 contains a primary key “DictionaryWordID” 3416A and a word-text “WordTxt” attribute 3416B, for dictionary-word text. Composite entity “ExpressionWordDictWord” 3412 has a composite primary key 3412P referencing primary key columns 3410A, 3410B, and 3416A. These are foreign-key-primary-keys 3412A, 3412B, and 3412C respectively in entity 3412.

Non-dictionary word (“NonDictionaryWord”) entity 3418 contains words that are provided from outside a dictionary. Practically, it represents a second repository of words. Entity 3418 has a primary key “NonDictionaryWordID” 3418A and word-text (“WordTxt”) attribute 3418B, that has the text of a non-dictionary word. Composite entity “ExpressionWordNonDictWord” 3414 has a composite primary key 3414P consisting of primary key columns 3410A, 3410B, and 3418A.

Entity Relationship Diagram—FIG. 35

FIG. 35 shows entities for relating dictionary words to one another. An entity dictionary-word—dictionary-word—contains (“DictWd_Dict:Contains”) 3510 is used to relate a word in the dictionary with another word in the dictionary based on the fact that a given word contains another word. Entity 3510 has a foreign-key-primary-key 3510P consisting of a foreign key column 3510A from primary key 3416A of dictionary word entity 3416, and a second foreign key column 3510B from primary key 3416A of entity 3416. An example record would contain a “DictionaryWordID” representing the word “appointment” and a “DictionaryWordID1” representing word “ointment”.

Another entity, dictionary-word—dictionary-word—contained by “DictWd_DictWd:ContainedBy” 3511 is similar to entity 3510. An example record would contain a DictionaryWordID of “ointment” and a DictionaryWordID1 of “appointment”. Given the word “ointment” a lookup would get the word “appointment”. A match on these two words allows a node representing the expression “Appointment for Love” to be related to a node representing the word “ointment”.

The remainder of the composite entities in FIG. 38 are similar to 3510. A dictionary-word—dictionary-word—alternate spelling (“DictWd_DictWd:AlternateSpelling”) entity 3512 might contain as an example record the dictionary word IDs for the words “Africa” and “Afrika”. A dictionary-word—dictionary-word—tense of (“DictWd_DictWd:TenseOf”) entity 3514 might contain as an example record the dictionary word IDs for the words “fly” and “flew”. A dictionary-word—dictionary-word—abbreviation-or-long-form (“DictWd_DictWd:AbrevOrLongFm”) entity 3516 might contain as an example record the dictionary word IDs for the words “Doctor” and “Dr”.

A dictionary-word—dictionary-word—synonym-of (“DictWd_DictWd:SynonymOf”) entity 3520 might contain as an example record the dictionary word IDs for the words “fly” and “bug”. A dictionary-word—dictionary-word—antonym-of (“DictWd_DictWd:AntonymOf”) entity 3522 might contain as an example record the dictionary word IDs for the words “love” and “hate”.

A dictionary-word—dictionary-word—root-or-derivative-of (“DictWd_DictWd:RootOrDerivOf”) entity 3518 has a foreign-key-primary-key 3518P. Primary key 3518P consists of foreign key column 3518A from primary key 3416A of dictionary word entity 3416, and a second foreign key column 3518B from primary key 3416A of entity 3416. Entity 3518 might contain as an example record the dictionary word IDs for the words “fly” and “flight”. Other relations for relating dictionary words are possible.

Entity Relationship Diagram—FIG. 36

FIG. 36 depicts the entities used to find an expression that contains a dictionary word that is a root or derivative of a dictionary word contained in a given expression.

An “ExpWdDictWd_DictWd_DictWd:RootOrDerivativeOf” entity 3610 is a composite of “ExpressionWordDictWord” entity 3412 and “DictWd_DictWd:RootOrDerivOf” entity 3518. Its primary key 3610P is concatenated from complete primary key 3412P of entity 3412 and complete primary key 3518P of entity 3518. Entity 3610 has foreign-key-primary-key columns 3610A, 3610B, 3610C, 3610D, and 3610E from primary key columns 3412A, 3412B, 3412C, 3518A, and 3518B respectively. There is a record in 3610 for each match of 3412C in 3412 to 3518A in 3518.

An entity “ExpWdDictWd_ExpWdDictWd_DictWd-DictWd: RootOrDerivativeOfl” 3612 is a composite entity of entities 3610 and 3412. Its primary key is composed of foreign-key-primary-key columns 3612A-3612F. These refer to primary key columns 3412A, 3412B, 3412C, 3610A, 3610B, and 3610C respectively. Entity 3612 also has foreign keys 3612G and 3612H referring to 3610D and 3610E respectively.

There is a record in entity 3612 for every match of 3412C in 3412 to 3610E in entity 3610. Entity 3612 serves as a lookup table to find expressions that contains a word that is a root or derivative of a word in another, given expression. Included with the expressions that are found from 3612 is the position 3612B of the root or derivate word in its expression.

In the sample iteration, entity 3610, or an equivalent query or view, is used to lookup “ExpressionID13612D representing trivia-quiz answer “The Flight of the Phoenix” 230A2 from “ExpressionID” 3612A representing top-level phrase “A fly in the ointment” 1410. This is accomplished through a relationship of the word “fly” in the top-level expression with its derivative word “flight” in a trivia-quiz answer expression. Entity 3610 can therefore be called the “lookup-expression-having-a-root-or-derivative-word” entity.

In another of the four examples, top-level expression 1410 was related to trivia-quiz answer 230A1 by virtue of a ‘contained-by’ relationship, whereby the word “fly” is contained by “McFly”. Building composite entities like 3610 and 3612 by replacing entity 3518 with entity 3511 from FIG. 35 would give a “lookup-expression-having-a-containing-word” entity for this purpose.

In another of the four examples, top-level expression 1410 was related to trivia-quiz answer 230B1 by virtue of another ‘contained-by’ relationship, whereby the word “ointment” is contained by “appointment”. Expressions 1410 and 230B1 would also be related by a “lookup-expression-having-a-containing-word” entity.

In the final example, top-level expression 1410 was related to trivia-quiz answer 230B2 by virtue of a ‘synonym’ relationship, whereby the word “ointment” is a synonym of “Cream”. Building composite entities like 3610 and 3612 by replacing entity 3518 with entity 3520 from FIG. 35 would give a “lookup-expression-having-a-synonym” entity for this purpose. Following the pattern, ‘lookup-expression-where-a-word-contains’, ‘lookup-expression-having-an-alternate-spelling’, ‘lookup-expression-having-a-tense-of’, ‘lookup-expression-having-an-abbreviation-or-long-form’, and ‘lookup-expression-having-an-antonym’ entities, are built. Many other types of lookup entities are possible. In general, such entities are called ‘lookup-expression’ entities.

Entity Relationship Diagram—FIG. 37

FIG. 37 shows a Node entity 3710. It has a node ID (“NodeID”) primary key 3710A. Entity 3710 includes attribute “IsExpressionYN?” 3710B which flags whether a node is an expression. Redundant attribute “IsNotAnExpressionYN?” 3710C flags whether a node is not an expression. Entity 3710 includes a one to zero-or-one self-join 3710J with parent-node-ID (“ParentNodeID”) 3710D being a foreign key referring to primary key 3710A. Also included is a redundant attribute node-level (“NodeLevel”) 3710E which represents a node-level of a node in its tree. Also included is a tree ID (“TreeID”) foreign key 3710F.

Node entity 3710 has a one-to-zero-or-one cardinality 3711 with a non-expression-node (“NonExpressionNode”) entity 3712. Primary key 3710A serves as a foreign-key-primary-key 3712A of entity 3712. Attributes of 3712 include flags indicating a type of non-expression-node. These flags are; is-it-a-canned-quiz-question-yes-or-no (“IsCannedQuizQuestionYN?”) 3712B, is-it-a-guess-the-phrase-word-node-yes-or-no (“IsGuessThePhraseWordYN?”) 3712C, is-it-a-multi-media-clip-yes-or-no (“IsMMClipYN?”) 3712D, is-it-a-sound-clip-yes-or-no (“IsSoundClipYN?”) 3712E, is-it-a-picture-yes-or-no (“IsPictureYN?”) 3712F, is-it-a-concealed-picture-puzzle-yes-or-no (“IsConcealedPicturePuzzleYN?”) 3712G. Only flags 3712A and 3712B apply to the detailed embodiment.

Node entity 3710 has a one-to-zero-or-one cardinality 3713 with an expression-node (“ExpressionNode”) entity 3714. Primary key 3710A serves as a foreign-key-primary-key column 3714A in entity 3714. Another foreign-key-primary-key column, an expression ID (“ExpressionID”) 3714B column, comes from primary key 3310A of entity 3310. A one-to-zero-or-many cardinality 3715 exists between entities 3310 and 3714. Together, 3714A and 3714B form the primary key of entity 3714. Flag attributes of 3714 indicate a type of expression-node. An is-it-a-derived-clue-yes-or-no (“IsDerivedClueYN?”) attribute 3714C indicates whether an expression-node is a clue (to a one-higher answer) that is derived from the quiz-generation schema. For example, a node can be related to a one-higher node on the basis of entity 3612 of FIG. 36. An is-it-the-answer-to-a-canned-quiz-question-yes-or-no (“IsCannedQuizAnswerYN?”) attribute 3714D indicates whether an expression-node is the answer to a ‘canned’ (non-expression) quiz-question. An is-it-a-guess-the-phrase-phrase-yes-or-no (“IsGuessThePhrasePhraseYN?”) attribute 3714E indicates whether an expression-node is a guess-the-phrase-phrase.

Entity Relationship Diagram—FIG. 38

FIG. 38 depicts two different types of non-expression-node entities used in the detailed embodiment. Node ID 3712A of “NonExpressionNode” entity 3712 is a foreign-key-primary-key column 3810A of a canned-quiz-question-node (“CannedQuizQuestionNode”) entity 3810. Column 3810A is part of the primary key of entity 3810. Foreign-key-primary-key column 3810B from primary key 3311A from entity 3311 is the other column 3810B of the primary key of entity 3810. There is a one-to-zero-or-one cardinality 3811 between entities 3712 and 3810. Also included in entity 3810 are flag attributes; has-multiple-choice-answer-yes-or-no (“HasMCAnswerYN?”) 3810C and has-text-input-answer-yes-or-no (“HasTextInputAnswerYN?”) 3810D.

Node ID 3712A of “NonExpressionNode” entity 3712 is a foreign-key-primary-key column 3812A of a guess-the-phrase-word-node (“GuessThePhraseWordNode”) entity 3812. Foreign-key-primary-key columns 3812B and 3812C from primary key columns 3410A and 3410B of entity 3410 are the other primary key columns of entity 3812. There is one-to-zero-or-one cardinality 3813 between entities 3712 and 3812.

Entity Relationship Diagram—FIG. 39

FIG. 39 shows more detail for entities 3810 and 3812. “CannedQuizQuestionNode” entity 3810 has ExpressionID_Answ foreign-key-primary-key column 3810B from primary key 3311A from “CannedQuiz” entity 3311. “GuessThePhraseWordNode” entity 3812 has primary key columns 3410A and 3410B of “ExpressionWord” entity 3410 as foreign-key-primary-key columns 3812B and 3812C. “ExpressionID” primary key column 3410A is “ParentExpressionID” primary key column 3812B in GuessThePhraseWordNode entity 3812. “WordNumInExp” primary key column 3410B in entity 3410 is “WordNumInParentExp” primary key column 3812C in entity 3812.

Entity Relationship Diagram—FIG. 40

FIG. 40 introduces a tree (“Tree”) entity 4010. Tree entity 4010 has a tree ID (“TreeID”) primary key 4010A. All nodes belonging to a single quiz-tree can be identified by their tree ID on the basis of a foreign key 3710F. The tree ID in node entity 3710 is strictly-speaking redundant in terms of identifying all the nodes belonging to some unidentified ‘tree’. This is because the unique nature of node ID primary key 3710A combined with foreign key 3710D allows all nodes belonging to one (unidentified) ‘tree’ to be related back to that tree, in their proper position. However, representing distinct trees allows trees to be managed as distinct entities. This facilitates more advanced game management, for example, preventing the same player from accessing a tree more than once. Other attributes of tree entity 4010 are an is-template-yes-or-no “IsTemplateYN?” attribute 4010B, and an average-player-rating “AveragePlayerRating” attribute 4010C. Attribute 4010B records whether a tree is a standard template. If not, it might have been created by a game player for limited or one-time use. Attribute 4010C records average ratings of trees as provided by player feedback. This attribute presumes functionality for surveying player satisfaction. A tree-created-by-player-ID (“TreeCreatedByPlayerID”) foreign key 4010D from a player entity records the player who created a tree, if applicable, presuming functionality for player creation of trees.

Entity Relationship Diagram—FIG. 41

FIG. 41 introduces a player (“Player”) entity 4110. It has a player ID (“PlayerID”) primary key 4110A, and attributes; first name (“FName”) 4110B and last name (“LName”) 4110C. For an enhancement where players can create quiz-trees, primary key “PlayerID” 4110A is a foreign key “TreeCreatedByPlayerID” 4010D in tree entity 4010.

Composite tree-player (“Tree_Player”) entity 4112 has foreign-key-primary-key columns 4112A and 4112B referencing primary keys 4010A and 4110A respectively. Entity 4112 includes a player-rating-of-tree (“PlayerRatingOfTree”) attribute 4112C that records player ratings of trees. Individual player ratings are used to derive “AveragePlayerRating” 4010C of tree entity 4010.

Sequence Diagram—Tree Formulator Part 1—FIG. 42

Quiz data represented by entities shown in FIG. 33-40 must be related to nodes within quiz-trees. FIG. 42 introduces a tree-formulator (“:TreeFormulator”) object 4210 that organizes quiz data into quiz-trees. First, object 4210 is initialized with tree-formula-initialization method (“initTreeFormulator( )”) 4250. No initialization parameters are shown, but arguments defining quiz-tree parameters are possible. Object 4210 next sends an insert-tree (“insertTree( )”) message 4252 to tree entity 4010. The relational database management system uses Data Manipulation Language (“DML”) to insert a new record in entity 4010. A unique tree ID (“TreeID”) primary key 4010A value is generated from a database sequence. Entity 4010 next returns tree ID (“TreeID”) 4254 to object 4210.

Tree-formulator object 4210 next sends a select-expression (“selectExpression( . . . )”) message 4256 to expression entity 3310. A parameter 4256A is included with message 4256 to select where “IsSuitableForGuessThePhraseYN?” attribute 3310G is set to “Y” for “yes”. Message 4256 selects one record. Program handling (not shown) ensures that the same expression is not pulled more than once for the same quiz-tree as well as to randomize selection of expressions. Additional parameters could be sent to specify the type of expression to be selected. Expression entity 3310 could have additional attributes related to it to assist in fine-tuning the types of expressions composed into in a quiz-tree.

Expression entity 3310 returns values 4258; an expression ID (“ExpressionID”) 4258A, and number of words (“NumWords”) 4258B from columns 3310A and 3310B respectively of 3310. Tree-formulator object 4210 next sends an insert-node (“insertNode( . . . )”) message 4260 to node entity 3710. A parameter 4260A is sent to set column 3710B, “IsExpressionYN?” to “Y” for “yes”. Other parameters 4260B are sent, namely to set “IsNotAnExpressionYN?” to “N” for “no”. A parameter 4260C is included to set column 3710D to NULL, indicating that there is no parent node. This is an appropriate value only for a top-level node. A parameter 4260D is included to set column 3710E to “1”. Also passed is Tree ID 4254 which goes in column 3710F.

The DML inserts a record in entity 3710. A node ID (“NodeID”) is generated in column 3710A from a database sequence. A node ID (“NodeID”) value 4262 is returned to tree-formulator object 4210. Object 4210 next sends an insert-expression-node (“insertExpressionNode( . . . )”) message 4264 to expression-node entity 3714. Message 4264 passes node ID 4262 and expression ID 4258A which go in columns 3714A and 3714B respectively. Other parameters 4264A set columns 3714C and 3714D both to “N” for “no”. Parameter 4264B sets column “IsGuessThePhrasePhraseYN?” 3714E to “Y”.

Having inserted the top-level node, tree-formulator object 4210 uses a set-level-one-parent-node-ID (“setLevellParentNodeID( . . . )”) method 4266 to set a parent-node-ID variable to the (current) node ID 4262 of the top-level expression.

Sequence Diagram—Tree Formulator Part 2—FIG. 43

The tree-formulator sequence continues with FIG. 43. An outer loop 4348 loops “n” times, where “n” is set to the number of words “NumWords” 4258B in the expression. The tree-formulator object sends a select-expression-word (“selectExpressionWord( . . . )”) message 4350 to expression-word entity 3410. Message 4350 passes expression ID 4258A and a parameter 4350A representing the loop counter. These are used to find a record for the current expression and word number by filtering on columns 3410A and 3410B respectively.

Entity 3410 returns corresponding column values 4252 for the selected record. “IsQuizzableWordYN?” 3410D, which is either “Y” for “yes” or “N” for “no” is returned as a value 4352A. Values 4352B of columns 3410C and 3410E are also returned.

Tree-formulator object 4210 next sends an insert-node (“insertNode( . . . )”) message 4354 to node entity 3710. A parameter 4354A is sent to set column 3710C, “IsNotAnExpressionYN?” to “Y” for “yes”. Other parameters 4354B are sent, namely to set “IsExpressionYN?” to “N” for “no”. A parent-node-ID (“parentNodeID”) parameter 4354C is included to set column 3710D to the node ID of the parent, top-level node. A parameter 4354D is included to set column 3710E to “2”. Also passed is Tree ID 4254 which goes in column 3710F.

The DML inserts a node record in entity 3710, generating a “NodeID” from a database sequence that is returned to tree-formulator object 4210 as node ID (“NodeID”) 4356. Object 4210 next sends an insert-non-expression-node (“insertNonExpressionNode( . . . )”) message 4358 to non-expression-node entity 3712. Message 4358 passes node ID 4356 to set 3712A and parameter 4358A to set “IsGuessThePhraseWordYN?” column 3712C to “Y”. Other parameters 4358B set columns 3712B, and 3712D-3712G to “N”.

Object 4210 next sends an insert-guess-the-phrase-word-node (“insertGuessThePhraseWordNode( . . . )”) message 4360 to entity 3812. Message 4360 passes node ID 4356 to set 3812A and a parameter 4360A to set column “ParentExpressionID” 3812B to the current expression ID of the top-level expression. Message 4360 also passes a parameter 4360B to set 3812C to the counter value “n” representing the word number in the expression.

Sequence Diagram—Tree Formulator Part 3—FIG. 44

The tree-formulator sequence continues with FIG. 44. One of two sequences occurs as represented by an “alt combined fragment” 4450. On a condition 4452 that “IsQuizzableWordYN?” value 4352A is set to “N”, a next (“next(n)”) method or next statement 4454 increases the outer loop counter (“n”) by one and, where “n” is not greater than “NumWords” 4258B, resumes outer loop 4348 show in FIG. 43.

On a condition 4456 that “IsQuizzbleWordYN?” value 4352A is set to “Y”, object 4210 calls its set-level-two-node-id (“setLevel2NodeID( . . . )”) method 4457 with node ID 4356 representing the n-th word. This keeps track of the level-two node ID in a variable.

Next, an inner loop executes. The inner loop completes node levels three and four of the quiz-tree. The number of times the loop executes is represented by “m”. The value of “m” could be set to an upper limit defined in a tree-formulator console (not shown) or hard coded. Otherwise, the number of iterations of the inner loop depends on the number of matching expressions found in the “lookup-expression” entities.

Part 1 of the inner loop is shown in loop combined fragment 4458. A reset-level-two-parent-node-ID (“resetLevel2 ParentNodeID( )”) method 4460 sets a “ParentNodeID” value to a level-two-node-id parameter 4461 value, which was returned from method 4457. The scope of this setting is restricted to the inner loop. Object 4210 sends a select-related-expression (“selectRelatedExpression( . . . )”) message 4462 to a lookup-expression entity 3612. Message 4462 passes parameters 4258A and 4350A. Parameter 4258A is used to restrict column 3612A and parameter 4350A is used to restrict column 3612B. Entity 3612 from FIG. 36 is representative of the different lookup-expressions. Loop “m” would be repeated, replacing the lookup entity in each repetition of the loop (not shown). Alternatively, all the related expression lookups could be inserted into a single lookup-entity (not shown). A tree-formulator console (not shown) could be used to restrict the types of expression lookups used in a particular quiz-tree.

Entity 3612 returns one related-expression-id (“ExpressionID1”) 4464 from column 3612D per iteration of inner loop “m”. For an Oracle database, a PL/SQL cursor could be used to perform this type of function. Tree-formulator object 4210 next sends a “selectExpressionID_Answ” message 4466 to canned-quiz entity 3311. Message 4466 passes a parameter 4466A to select “ExpressionID_Answ” column 3311A from entity 3311 where column 3311A is equal to 4464. Entity 3311 returns an “ExpressionID_Answ” value 4468.

A condition 4472 checks that 4468 in not null. If 4468 is null, it means that related-expression-id 4464 is not a canned-quiz answer, and method or next statement 4470 starts a new iteration of the inner loop “m”.

Sequence Diagram—Tree Formulator Part 4—Inner Loop “m” Part 2FIG. 45

FIG. 45 continues the tree-formulator sequence within the inner loop “m”. A condition 4550 checks that 4468 is not null, that is, that a value was returned in the previous step. If condition 4550 is met, execution continues within the inner loop.

Tree-formulator object 4210 next sends an insert-node (“insertNode( . . . )”) message 4552 to node entity 3710. A parameter 4552A sets column 3710B “IsExpressionYN?” to “Y”. Parameter 4552B is sent to set “IsNotAnExpressionYN?” column 3710C to “N” for “no”. A parent-node-ID (“parentNodeID”) parameter 4552C is included to set column 3710D to the node ID of the parent, quiz-able-word node. A parameter 4552D is included to set column 3710E to “3”. Also passed is Tree ID 4254 which goes in column 3710F.

The DML inserts a node record in entity 3710, generating a “NodeID” from a database sequence that is returned to tree-formulator object 4210 as node ID (“NodeID”) 4554. Object 4210 next sends an insert-expression-node (“insertExpressionNode( . . . )”) message 4556 to expression-node entity 3714. Message 4556 passes node ID 4554 to set column 3714A. Message 4556 passes parameter 4556A to set “ExpressionID” column 3714B to 4468. Other parameters 4556B set columns 3714C and 3714E to “N”. Parameter 4556C sets column “IsCannedQuizAnswerYN?” 3714D to “Y”.

Tree-formulator object 4210 next calls a set-level-three-parent-node-id (“setLevel3 ParentNodeID( . . . )”) method 4558, passing 4554, which sets a “ParentNodeID” parameter to the node ID of the quiz answer expression.

Next, object 4210 sends an insert-node message 4560 to insert a node into entity 3710. A parameter 4560A is sent to set column 3710C, “IsNotAnExpressionYN?” to “Y” for “yes”. A parameter 4560B is sent to set “IsExpressionYN?” 3710B to “N” for “no”. A parent-node-ID (“parentNodeID”) parameter 4560C is included to set column 3710D to the node ID of the parent, quiz-answer node. A parameter 4560D is included to set column 3710E to “4”. Also passed is Tree ID 4254 which goes in column 3710F.

The DML inserts a node record in entity 3710, generating a “NodeID” from a database sequence that is returned to tree-formulator object 4210 as node ID (“NodeID”) 4562. Object 4210 next sends an insert-non-expression-node (“insertNonExpressionNode( . . . )”) message 4564 to non-expression-node entity 3712. Message 4564 passes node ID 4562 which goes in column 3712A. Also passed is parameter 4564A to set “IsCannedQuizQuestionYN?” column 3712B to “Y”. Other parameters 4564B set columns 3712C-3712G to “N”.

Object 4210 next sends an insert-canned-quiz-question-node (“insertCannedQuizQuestionNode( . . . )”) message 4566 to entity 3810. Message 4566 passes node ID 4562 to set column 3810A. It also passes a parameter 4468 to set column 3810B. Message 4566 also passes parameter 4566A to set 3810C to “N”, and parameter 4566B to set column 3810D to “Y”.

Sequence Diagrams—Node Initializers

FIG. 46-51 show how the four already-introduced node objects are initialized from information in the quiz-generation schema. These sequences show how the data is accessed by the system at runtime. The node structure of a tree is already defined by the tree-formulator sequences.

A runtime node persistence design would also require entities for storing node state and other information about a game in progress, not detailed below. Shown are the sequences for initializing the node objects with quiz data and references to applicable parent and child nodes, in support of the class diagram and game sequences previously shown. In these diagrams, the references to applicable parent and child nodes are by node IDs as opposed to object references. From a node ID, a relative parent or child node could be instantiated and an object reference obtained.

Sequence Diagram—Guess-the-Phrase Phrase Node Initializer—FIG. 46

FIG. 46 shows how a guess-the-phrase-phrase-node object is initialized from information in the quiz-generation schema. Guess-the-phrase-phrase-node object 3012 receives an initialize-guess-the-phrase-phrase-node (“initGTPPNd( . . . )”) message 4650, which passes a node-id (“nodeID”) 4652 parameter. Object 3012 next sends a select-expression (“selectExpression( . . . )”) message 4654 to expression-node entity 3714, passing 4652 which restricts 3714A. Entity 3714 returns an expression-id (“ExpressionID”) 4656 value from 3714B.

Object 3012 next sends a select-number-of-words (“selectNumWords( . . . )”) message 4658 to expression entity 3310, passing 4656 which restricts column 3310A. Entity 3310 returns a number-of-words (“NumWords”) 4660. Object 3012 next gets an array of the node-ids of the guess-the-phrase-words in the phrase. An initialize-guess-the-phrase-word-node-array (“initGTPWNd( )”) method 4662 initializes the array.

A combined loop fragment 4664 iterates “n” times where the upper limit of “n” is the number of words 4660. A select-guess-the-phrase-word-node (“selectGTPWNd( . . . )”) message 4666 is sent to node entity 3710. Message 4666, passes a parameter 4668 to restrict column 3710D to 4652. Column 3710A is selected and a node-id (“NodeID”) 4670 is returned to object 3012. An add-guess-the-phrase-word-node (“addGTPWNd( . . . )”) method 4674 inserts nth node ID 4670 into the guess-the-phrase-word-node array.

Sequence Diagram—Guess-the-Phrase Word Node Initializer—Part 1—FIG. 47

FIG. 47 shows part one of how a guess-the-phrase-word-node object is initialized from information in the quiz-generation schema. Guess-the-phrase-word object 1818 receives an initialize-guess-the-phrase-word-node-id (“initGTPWNd( . . . )”) message 4750, which passes a node-id (“nodeID”) 4752 parameter. Object 1818 next sends a select-expression-and-word-number (“selectExpression&WordNum( . . . )”) message 4754 to guess-the-phrase-word-node entity 3812, passing 4752 which restricts 3812A. Entity 3812 returns values 4756, a parent-expression-id (“ParentExpressionID”) 4758 from column 3812B, and a word-number-in-parent-expression (“WordNumInParentExp”) 4760 from column 3812C.

Object 1818 next sends a select-expression-word-information (“selectExpressionWordInfo( . . . )”) message 4762 to expression-word entity 3410. Message 4762 passes a parameter 4762A which restricts column 3410A with 4758. Message 4762 also passes a parameter 4762B which restricts column 3410B with 4760. Entity 3410 returns values 4764. These include an expression-id (“ExpressionID”) 4766 from column 3410A, and a word-number-in-expression (“WordNumInExp”) 4768 from 3410B. Entity 3410 also returns “IsQuizzableWordYN?” 4770 from 3410D and “IsCapitalizedYN?” 4772 from 3410E. All words are stored as dictionary words in the present embodiment, so there is no need to return 3410C.

Object 1818 next sends a select-dictionary-word (“selectDictionaryWord( . . . )”) message 4774 to entity 3412. Parameter 4766 restricts column 3412A and parameter 4768 restricts column 3412B. A value for dictionary-word-id (“DictionaryWordID”) 4776 is returned. Next, object 1818 sends a select-word-text (“selectWordTxt( . . . )”) message 4778 to dictionary-word entity 3416, passing 4776 which restricts column 3416A. A value for word-text (“WordTxt”) 4780 is returned from column 3416B.

Next, object 1818 calls its set-answer (“setAnswer( . . . )”) method 4782, passing 4780 and 4772 to set an answer for the word. This answer is passed to and displayed in the interface when the word is solved. On a condition 4784 that the word is a quiz-able word, object 1818 also calls its set-valid-word-answer (“setValidWdAnswer( . . . )”) method 4786, passing 4780. This method sets the first index value of a valid-word-answers array to word-text 4780. Other entities and sequences, not shown, could be used to create an array of multiple values with closely matching responses deemed to be correct.

Sequence Diagram—Guess-the-Phrase-Word-Node Initializer—Part 2—FIG. 48

FIG. 48 shows part two of the guess-the-phrase-word node initialization sequence. Guess-the-phrase-word object 1818 sends a select-parent-node (“selectParentNode( . . . )”) message 4850 to node entity 3710, passing 4752. Node id 4752 restricts column 3710A, and parent-node-id (“ParentNodeID”) 4852 is returned from column 3710D.

On a condition 4784 (which also applies to the loop that follows), an initialize-trivia-quiz-answer-node (“initTQANd”) method 4854 initializes a two-dimensional array that stores trivia-quiz answer node IDs and their respective category.

A loop combined fragment 4856 iterates while found with counter “n”. A select-trivia-quiz-answer-node (“selectTQANd( . . . )”) message 4858 is sent to node entity 3710. Message 4858, passes a parameter 4860 to restrict column 3710D to node ID 4752 of the quiz-able word. A node id 4862 for a trivia-quiz-answer-node is returned from column 3710A.

Next, a select-expression (“selectExpression( . . . )”) message 4864 is sent to expression-node entity 3714, passing 4862. Parameter 4862 restricts column 3714A, and column 3714B is returned as an expression-id (“ExpressionID”) 4866 value. Next, object 1818 sends a select-category-code (“selectCategoryCode( . . . )”) message 4868 to canned-quiz-subject-category entity 3312. Message 4868 passes a parameter 4870 which restricts column 3312A with 4866. Column 3312B is returned as a category-code (“CategoryCode”) 4872 value. Next, a set-trivia-quiz-answer-node (“setTQANd( . . . )”) method 4874 executes. Method 4874 inserts trivia-quiz-answer node-id 4862, and category-code 4872 into the trivia-quiz-answer-node array.

Sequence Diagram—Trivia Quiz Answer Node Initializer—Part 1—FIG. 49

FIG. 49 shows part one of the trivia-quiz-answer-node-initializer sequence. Trivia-quiz-answer-node object 1910 receives an initialize-trivia-quiz-answer-node (“initTQANd( . . . )”) message 4950, which passes a node-id (“nodeID”) 4952 parameter. Object 1910 next sends a select-expression (“selectExpression( . . . )”) message 4954 to expression-node entity 3714, passing 4952 which restricts 3714A. Entity 3714 returns an expression-id (“ExpressionID”) 4956 value from 3714B.

Object 1910 next sends a select-number-of-words (“selectNumWords( . . . )”) message 4958 to expression entity 3310, passing 4956 which restricts column 3310A. Entity 3310 returns a number-of-words (“NumWords”) 4960 from 3310B. Object 1910 next calls an initialize-answer (“initAnswer( . . . )”) method 4962, passing 4960. Method 4962 initializes an array of size “NumWords” for holding the words of the trivia-quiz-answer expression.

A combined loop fragment 4964 iterates “n” times where the upper limit of “n” is the number of words 4960. A select-dictionary-word (“selectDictionaryWord( . . . )”) message 4966 is sent to expression-word-dictionary-word entity 3412. Message 4966, passes parameter 4956 to restrict column 3412A. Also passed is parameter 4966A which restricts column 3412B to the counter representing the word number. A dictionary-word-id (“DictionaryWordID”) 4968 value is returned from column 3412C.

Object 1910 next sends a select-word-text (“selectWordTxt( . . . )”) message 4970 to dictionary-word entity 3416. Message 4970 passes 4968, which restricts column 3416A. Column 3416B is returned as a word text (“WordTxt”) 4972 value. Object 1910 next sends a select-caplitalization (“selectCapitalization( . . . )”) message 4974 to expression-word entity 3410. Message 4974 passes 4956, which restricts column 3410A. Message 4974 also passes a parameter 4974A for the counter value, which restricts column 3410B. Column 3410E is returned as an “IsCapitalizedYN?” 4976 value. Object 1910 calls its add-to-answer (“addToAnswer( . . . )”) method 4978, passing 4972 and 4976. Method 4978 adds the word to the array of words for the trivia-quiz-answer expression.

Sequence Diagram—Trivia Quiz Answer Node Initializer—Part 2—FIG. 50

FIG. 50 shows the second part of the trivia-quiz-answer-node-initializer sequence. Trivia-quiz-answer-node object 1910 calls its convert-to-string (“convertToString( . . . )”) method 5050, passing a completed array of words (“answer”) for the trivia-quiz-answer expression, 5052. Next, it calls its initialize-valid-answers (“initValidAnswers( . . . )”) method 5054, which initializes an array of valid answers and adds a string-answer (“stringAnswer”) 5056 returned from method 5050 at the first index. Additional entities and sequences, not shown, would be used to add additional values to the array of valid answers. It is this array that is checked against a player response to determine whether it is correct.

Object 1910 next sends a select-guess-the-phrase-word-node (“selectGTPWNd( . . . )”) message 5058 to node entity 3710. A parameter 5058A restricts column 3710A with node id 4952. Column 3710D is returned as a parent-node-id (“ParentNodeID”) 5060. Object 1910 calls its set-guess-the-phrase-word-node (“setGTPWNd( . . . )”) method 5062, passing 5060. This sets the parent, guess-the-phrase-word-node by its node-id.

Object 1910 next sends a select-trivia-quiz-question-node (“selectTQQNd( . . . )”) message 5064 to entity 3710. Message 5064 passes a parameter 5064A that restrict column 3710D with 4952. Column 3710A is returned as a node-id (“NodeID”) 5066 value. Object 1910 calls its set-trivia-quiz-question-node (“setTQQNd( . . . )”) method 5068, passing 5066. This sets the child, trivia-quiz-question-node by its node-id.

Sequence Diagram—Trivia Quiz Question Node Initializer—FIG. 51

FIG. 51 shows how a trivia-quiz-question-node object is initialized from information in the quiz-generation schema. Trivia-quiz-question-node object 1912 receives an initialize-trivia-quiz-question-node (“initTQQNd( . . . )”) message 5150, which passes a node-id (“nodeID”) 5152 parameter. Object 1912 next sends a select-expression (“selectExpression( . . . )”) message 5154 to canned-quiz-question-node entity 3810, passing 5152 which restricts 3810A. Entity 3810 returns an “ExpressionID_Answ” 5156 value from 3810B.

Object 1912 next sends a select-question-text (“selectQuestionTxt( . . . )”) message 5158 to canned-quiz entity 3311, passing 5156 which restricts column 3311A. Entity 3311 returns a question text (“QuestionTxt”) 5160 from column 3311B. Object 1912 next calls its initialize-question (“initQuestion( . . . )”) method 5162, passing 5160 to initialize the question.

Object 1912 next sends a select-trivia-quiz-answer-node (“selectTQANd( . . . )”) method 5164 to node entity 3710. A parameter 5164A restricts column 3710A by 5152. Column 3710D is returned from the node entity as a parent-node-id (“ParentNodeID”) 5166. Object 1912 next calls its set-trivia-quiz-answer-node (“setTQANd( . . . )”) method 5168, passing 5166. This sets a reference to a parent, trivia-quiz-answer node, by its node ID.

Entity Relationship Diagram—FIG. 52

FIG. 52 introduces a round (“Round”) entity 5210 and a match (“AMatch”) entity 5214. Match entity 5214 contains a “MatchID” primary key 5214A. It contains attributes to record match statistics. “TotalPointsAvailable” 5214B is the maximum points available for distribution in a match. “TotalPointsAwarded” 5214C is the points awarded in a match. “PlayerlDMatchAdmin” foreign key 5214D refers to the “PlayerID” primary key 4110A of player entity 4110. It records the player who is the match administrator, if applicable. Flag attributes “IsStartedYN?” 5214E, “IsSuspendedYN?” 5214F, “IsCompletedYN?” 5214G record information about the state of a match.

An “AMatch_Player” composite entity 5216 has a primary key 5216P composed of a “MatchID” foreign-key-primary-key column 5216A from 5214A and a “PlayerID” foreign-key-primary-key column 5216B from 4110A. Entity 5216 includes attributes “Score” 5216C, which is the cumulative match score for each player, and “ControlOrder” 5216D, which is a number representing the order of control per player per match.

Round entity 5210 has a primary key composed of a “MatchID” foreign-key-primary-key column 5210B referencing primary key 5214A of match entity 5214, and a round number “RoundNum” column 5210C which is the round number within a match. A “TreeID” foreign key 5210A refers to primary key 4010A of tree entity 4010. A “PlayerIDToStartRound” foreign key 5210H refers to primary key 4110A of player entity 4110 and records which player started the round in control. Attribute “TotalPointsAwarded” 5210D summarizes the cumulative points awarded per round. Attribute “MaxAvailPoints” 5210E records the maximum available points available for distribution in a round. Attributes “StartDate” 5210F and “EndDate” 5210G record when a round was started and ended. Flag attributes “IsStartedYN?” 52101, “IsSuspendedYN?” 5210J, and “IsCompletedYN?” 5210K record information about the state of a round.

A “Round_Player” composite entity 5212 has a primary key 5212P with foreign-key-primary-key columns “MatchID” 5212A, “RoundNum” 5212B, and “PlayerID” 5212C referencing the primary keys of round entity 5210 and player entity 4110. A “Score” attribute 5212D records the cumulative score per player per round.

Sequence Diagram—Initialize Match—FIG. 53

FIG. 53 shows how a match is initialized. A game administrator (“GameAdmin <<actor>>”) 5310 sends an initiate-game (“initGame( . . . )”) message 5350 to game object 1816. Message 5350 passes an array of player IDs of size “P” (“playerID[P]”) 5352, a number of rounds (“numRounds”) 5354 in the match, and an array of “R” tree IDs (“TreeID[R])”) 5356, where “R” is the number of rounds. It is assumed that arrays 5352 and 5356 contain pre-existing information and were obtained as part of a pre-game setup process (not shown).

Next, game object 1816 calls an initialize-control-sequence (“initControlSeq( . . . )”) method 5358, passing 5352. Next, a loop populates the control sequence with an ordered array of player references, described in combined loop fragment 5360. An initialize-player (“initPlayer( . . . )”) message 5362 is sent from 1816 to a player object (“Player”) 5312, passing a player ID of the counter index “p” value (“playerID(p)”) 5364. Player object 5312 sends a select-player (“selectPlayer(p)”) message 5366 to player entity 4110 to select relevant columns where 4110A is restricted by 5364. A reference 5368 to the player object is returned to 1816. An add-to-control-sequence (“addToControlSeq( . . . )”) method 5370 adds player reference 5368 to the control sequence.

Game object 1816 next sends an initialize-match (“initMatch( . . . )”) message 5372 to a match (“Match”) object 5314. Message 5372 passes 5354 and a control sequence (“controlSeq”) 5374 obtained from loop 5360. Match object 5314 sends an insert-match (“insertMatch( )”) message 5376 to match entity 5214. A database sequence generates a “MatchID” in primary key column 5214A, which is returned as 5378. Other methods (not shown), can insert additional values in entity 5214 as well as composite entity 5216, and initialize the match scores of the players. A reference 5380 to the match object is returned to game object 1816.

Sequence Diagram—Initialize Round—Part 1—FIG. 54

FIG. 54 shows the first part of a round initialization sequence. At the beginning of a new round, game object 1816 calls a next-control-sequence (“nextControlSeq( . . . )”) method 5450, to set the index of the control sequence to the next player. Method 5450 requires parameter “r” 5452 which is the index of the current round. This method ensures that control is set at the beginning of each round according to the control sequence order.

Game object 1816 next sends an initialize-round (“initRound( . . . )”) message 5454 to a round (“Round”) object 5410. Message 5454 passes a match ID (“MatchID”) parameter 5456 obtained from a lookup (not shown) of match object 5314. It also passes round index 5452.

Round object 5410 sends an insert-round (“insertRound( . . . )”) message 5458 to round entity 5210. Message 5458 passes 5460, a tree ID of the round index (“TreeID(r)”). Message 5468 also passes 5456 and the index of the current round plus one 5462. This presumes the index begins at zero but actual round numbers begin at one. Parameters 5460, 5456, and 5462 populate columns 5210A, 5210B, and 5210C respectively of entity 5210. Once a round is initialized, a round 5464 reference is returned to game object 1816.

Game object 1816 next sends a select-top-node (“selectTopNode( . . . )”) message 5466 to node entity 5210. Message 5466 passes 5460, which restricts column 3710F, and a parameter 5468 that restricts column 3710E to “1”. This call returns node ID (“NodeID”) 5470 from column 3710A of entity 3710.

Game object 1816 next sends initialize-guess-the-phrase-phrase-node (“initGTPPNd( . . . )”) message 4650 to object 3012, passing 5470. Once guess-the-phrase-phrase object 3012 is initialized, game object 1816 sends a get-number-of-words (“getNumWordso”) message 5472 to 3012. A number of words (“NumWords”) 4660 in the top-level-phrase is returned. Game object 1816 next calls an initialize-guess-the-phrase-word-GUI-information (“initGTPWGUIInfo( )”) method 5474. This initializes an array of information about the guess-the-phrase words that is to be sent to the user interface.

Sequence Diagram—Initialize Round—Part 2—FIG. 55

The initialize round sequence continues with FIG. 55. A loop, indicated by a combined loop fragment 5550, executes to capture information about each word in the top-level phrase. A get-nth-guess-the-phrase-word-node (“getGTPWNd(n)”) message 5552 is sent to object 3012. Message 5552 retrieves a node ID (“NodeID”) 5554 for the nth guess-the-phrase word from 3012. Game object 1816 next sends an initialize-guess-the-phrase-word-node-id (“initGTPWNd( . . . )”) message 4750 to guess-the-phrase-word instance 1818 for the guess-the-phrase-word node, passing 5554. Game object 1816 gets a reference 5556 to the guess-the-phrase-word node (“GTPWdNd”). It then calls a get-guess-the-phrase-word-node-GUI-information (“getGTPWNdGUIInfo( )”) message 5558 of 1818. Message 5558 returns values 5560. These include a word text (“WordTxt”) 5562 value, an is-quiz-able-word-yes-or-no (“IsQuizzableWdYN?”) 5564 value, and a node state (“nodeState”) 5566 value. Node state 5566 will reflect that the node is available.

Game object 1816 next calls a get-word-length (“getWordLength( . . . )”) message 5568, passing 5562 to get the number of characters of the current word. Object 1816 next calls an add-guess-the-phrase-word-GUI-information (“addGTPWGUIInfo( . . . )”) method 5570. Method 5570 takes as arguments 5554, a word length (“wordLength”) 5572 parameter returned from 5568, and 5564 and 5566. Method 5570 adds the information for the current word to the guess-the-phrase-word-GUI-information array.

When loop 5550 is finished, game object 1816 sends an initialize-navigation-mode-GUI (“initNavModeGUI( . . . )”) message 5574 to initialize navigation-mode GUI (“NavModeGUI”) object 1810. Message 5574 passes a guess-the-phrase-phrase-node-ID (“GTPPNdID”) 5576, which is set to 5470, the value of the top-level node ID. Message 5574 also passes a guess-the-phrase-word-GUI-information (“GTPWGUIInfo[ ]”) array 5578, obtained from loop 5550. Parameters 5576 and 5578 supply the information necessary to display the masked top-level phrase at the beginning of a round as indicated in FIG. 2. Parameters 5576 and 5578 also provide node IDs to the user interface that are returned to the model with play actions. This assists in coordinating the view with the model.

In the present embodiment, method 5574 is part of an indicator means for presenting a word indication. The method provides word length, type and node identification information from the model to the view.

Game object 1816 also sends an initialize-control-and-score-GUI (“initCntrl&ScoreGUI( . . . )”) message 5580 to initialize control-and-score-GUI (“Cntrl&ScoreGUI”) object 2310. Message 5580 passes an array of player scores for the round (“round.player.score[ ]”) 5582, an array of player scores for the match (“match.player.score[ ]”) 5584, a control sequence (“controlSeq”) 5586, and an index for the player with control (“cntrlIndex”) 5588.

Continuous Difficulty Calibration Enhancement

Embodiments could include enhancements that make adjustments to points awarded, or to points deducted as the case may be, based on the relative difficulty of the comprised nested quiz(zes) or top-level quiz. In a client-server, database supported embodiment, difficulty levels could be recalibrated, potentially in real time, based on data received from the player clients. Use of a quiz database allows quizzes to be reused by many different players. A difficulty calibration mechanism based on client feedback would allow future players to benefit from the play of past and current players to create an increasingly accurate scoring system based on relative quiz difficulty.

Information for a given quiz, comprised of the individual historic results and/or the accumulated result of all historic guesses attempted on that quiz, would be persisted. In the case of a quiz database based on a relational database system, historic results would be persisted in one or more history relations within the quiz database. Any new result for the given quiz, provided by the game clients to the server, would be added to existing result information for that quiz in the quiz database.

Quiz result information could be used to re-calibrate the difficulty measure of the given quiz on an ongoing basis. The difficulty measure(s) would be applied as a factor to the score value for a given quiz for the next or later presentation of the same quiz in the context of a round of play. Ongoing feedback from clients would provide an increasingly accurate difficulty rating and score adjustment for the quizzes.

A simple example of how continuous difficulty calibration could be applied is given for a trivia-quiz taken with the trivia-quiz component in a single-player mode of the game. In single-player mode, the score will be maximized when the fewest number of clues are revealed and/or guesses are taken en route to the solution of the top-level quiz. However, it is sensible that a player should be deducted fewer points for missing the solution to a difficult quiz than for missing the solution to a relatively easy quiz.

Assuming that prior feedback were collected on a given trivia-quiz and the data indicated that there were a number “c” correct answers for a number “a” attempts on a given quiz, then a difficulty factor of perhaps c/a could be multiplied by some base value “b” to arrive at the point deduction for a failed guess on the next attempt for that quiz. Once a player has submitted a guess, the value of “c” in the quiz database would be updated by one if the guess were successful, and the value of “a” would automatically be updated by one. The next time an attempt were made on the same quiz, the re-calibrated difficulty factor for the quiz would be retrieved or calculated from information in the quiz database. The difficulty factor would again be multiplied by the base value “b” to arrive at the re-calibrated point deduction for a failed guess on the same quiz. Following the submission of the latest guess, the quiz database would again be updated and the difficulty factor would again be re-calibrated for the next player(s) to make use of the given trivia-quiz and so on.

A more complicated formula could be used to calibrate the difficulty of phrases. Phrase difficulty calibration is complicated by the fact that different trivia-quizzes may appear from iteration to iteration of the same phrase. This could be due to the addition of trivia-quizzes to the quiz database. This could also be due to the insertion of logic that records player histories and prevents the same individual from receiving the same trivia-quiz between different matches.

The continuous difficulty calibration feature could be applied not only to the combined guess-the-phrase and trivia game embodiment of a QNQ but to all possible embodiments of a QNQ.

ALTERNATIVE EMBODIMENTS

FIGS. 56-95 deal with some alternative forms and enhancements. These figures are representative of many types of enhancements that could be incorporated into the combined guess-the-phrase and trivia game embodiment or an alternative embodiment.

FIG. 56 depicts the quiz-and-word-guessing-selector component with an additional menu option for a “drill-down clue”. An additional level of submenus 320 contains a trivia submenu 322 and a drill-down clue submenu 324. Presuming that drill-down clue submenu 324 is selected, FIG. 57 would be presented.

FIG. 57 depicts the phrase component in navigation mode with an embedded quiz that is applicable to one of the quiz-able-words in the top-level phrase. Embedded quiz 240 has an unrevealed quiz-able-word 244A1 with attached hyperlink, a solve word button 242A, a label indicating a word-clue section 248, and a quiz-able-word-clue cell 250. Presuming that 244A1 is selected with hand-pointer cursor 95, FIG. 58 would be presented.

FIG. 58 depicts the quiz-and-word-guessing-selector component as it might appear for quiz-able-word 244A1 in the embedded quiz. Additional menu items are displayed to support additional features and quiz types.

Top-level menus 340 contain a guess-word menu 342, find-a-clue menu 344 and cancel drill-down menu 346. The find-a-clue menu 344 has a flyout menu 350. Flyout menu 350 has a trivia-quiz menu 352, a concealed-picture menu 354, an anagram menu 356, a drill-down-clue menu 357, a sound-clip menu 358 and a video-clip menu 359. Trivia-quiz menu 352 has trivia-quiz submenus 360. Trivia-quiz submenus 360 include a television-quiz-category-menu option 362A, a movies-quiz-category-menu option 362B, a music-quiz-category-menu option 362C, and a sports-quiz-category-menu option 362D.

Presuming that music-quiz-category-menu option 362C is selected with arrow cursor 99, FIG. 59 is presented. FIG. 59 depicts a form of the trivia-quiz component adapted for multiple choice input of a trivia-quiz answer. The appearance of this component presumes an embodiment enabled for multiple choice quizzes and that option being selected, if configurable. FIG. 59 introduces multiple choice options section 417 with options 417A through 417D. A quiz-heading 410B corresponds to the selected question. A quiz question 412B1 displays the question. Multiple choice option 417C is shown as selected. Presuming that submit button 420 is selected with hand-pointer cursor 95, FIG. 60 is presented.

FIG. 60 shows the phrase component assuming the previous attempt is correct. Revealed quiz-able-word 244A5 is displayed in quiz-able-word-clue cell 250. Since quiz-able-word 244A5 is solved, the embedded quiz is redundant and disappears automatically after a few seconds. After that, the phrase component reduces to FIG. 61, showing a first quiz-able-word's first clue 230G1 in first quiz-able-word-clue cell 230A.

Returning to FIG. 58, and presuming that concealed-picture menu 354 is selected, a concealed-picture-puzzle quiz is presented. It is modeled after the trivia-quiz component. FIG. 62 shows a concealed-picture puzzle in progress. The concealed-picture puzzle has a heading-for-concealed-picture puzzle 410C. It has a concealed-picture puzzle 412C and a remove-a-puzzle-piece label 430. A spinner with label 432 is used to select a puzzle piece for removal from concealed-picture puzzle 412C. A submit button 434 verifies removal of a puzzle piece. A pass button 436 is used by a player to pass on selecting a puzzle piece for removal in a multi-player embodiment. A guess-the-picture label 414B labels answer textbox 416. A text-answer attempt 416C is shown. Other features have the same purpose as in the trivia-quiz component.

Returning to FIG. 58, and presuming that anagram menu 356 is selected, then an anagram-puzzle quiz is presented. FIG. 63 depicts the phrase component in navigation mode with the embedded quiz. The embedded quiz has unrevealed quiz-able word 244A1 with attached hyperlink. It also has associated anagram clue in its quiz-able-word-clue cell 250.

Assuming selection of solve-word button 242A, FIG. 64 is displayed. FIG. 64 shows embedded quiz 240 in a quiz-able-word-guessing mode. A quiz-able-word response 244A4 is in the process of being entered by a player. Submit-guess button 242B, clear-guess button 242C, and pass button 242D are available for selection. Point-deduction warning 246 warns of the penalty for a wrong attempt.

FIG. 65 depicts the phrase component in navigation mode in a design variant that displays unsolved quizzes within the phrase component. One clue 252 has been found for the higher-level quiz-able-word, and there are three clues to the embedded quiz. The first is an anagram clue 254, The second is a quiz question 256 corresponding to 412A1 of FIG. 59. In this design, quiz question 256 maintains a hyperlink to the trivia-quiz portrayed in FIG. 59. FIG. 65 presumes that the trivia-quiz was previously selected but not attempted or not answered correctly. Unsolved picture puzzle “clue” 258 maintains a hyperlink to the concealed-picture puzzle introduced in FIG. 62. In FIG. 65, one less piece is removed. FIG. 65 presumes that the concealed-picture puzzle quiz was previously selected but an answer was not attempted or it was not answered correctly.

Returning to FIG. 58, and presuming that drill-down-clue menu 357 is selected, a “drill-down” quiz is presented. FIG. 66 depicts the phrase component in navigation mode where embedded quiz 240 itself has an embedded-drill-down quiz. An embedded-embedded-drill-down quiz 260 consists of a single unrevealed quiz-able-word 264A1 with attached hyperlink. It has its own solve word button 262A, a label 266 indicating a word-clue section, and a quiz-able-word-clue cell 268.

Assuming selection of quiz-able-word 264A1 with hand-pointer cursor 95, FIG. 67 is displayed. FIG. 67 depicts the quiz-and-word-guessing-selector component as in might appear for quiz-able-word 264A1 in the embedded-embedded drill down quiz. Additional menu items are displayed to support additional features and quiz types.

In FIG. 67, top-level menus 370 contain guess-word menu 372, find-a-clue menu 374 and cancel-drill-down menu 376. Find-a-clue menu 374 has a flyout menu 380. Flyout menu 380 leads to trivia-quiz menu 382, concealed-picture menu 384, anagram menu 386, and drill-down-clue menu 388. Trivia-quiz menu 382 leads to trivia-quiz submenus 390. Trivia-quiz submenus 390 include a television-quiz-category-menu option 392A, movies-quiz-category-menu option 392B, a music-quiz-category menu option 392C, and a sports-quiz-category-menu option 392D.

FIG. 68 depicts the phrase component in navigation mode with three clues in quiz-able-word-clue cell 268. Clues “Shrek” 270, “The Hobbit” 272 and “Bruce Lee” 274 are for embedded-embedded drill down quiz-able-word 264A1. These clues presume a design variant where the relationship of the clues 270, 272 and 274 to quiz-able-word 264A1 (“dragon” when solved) is not based on word-level relationships. Rather, there is a thematic relationship. At the schema level, this is accomplished with expression-level relationships, including “expressions” of one word.

Clues “Shrek” 270 and “The Hobbit” 272 are names of movies that feature a dragon. Clue “Bruce Lee” 274 is a movie actor that is associated with the word “dragon” through a famous movie title. Assuming selection of the solve-word button, FIG. 69 is displayed.

FIG. 69 depicts the phrase component in navigation mode in which the embedded-embedded-quiz-able-word 264A5 has been solved. Its solution has become a clue to one-higher embedded quiz-able-word 244A1.

FIG. 70 depicts a hypothetical logical structure of the solution path that was partially exposited by FIGS. 66 through 69. In addition to node-levels one through four (110, 112, 114, 116) are shown node-levels 5 118 and six 120. For clarity, the diagram omits node-level 2 112 words except 220A.

At node-level six 120 are quiz questions (clues) 7010, 7012, and 7014 for clues “Shrek” 270, “The Hobbit” 272 and “Bruce Lee” 274 respectively. Clues 270, 272, and 274 are clues to quiz-able-word 264 (“dragon”) which is a clue to quiz-able-word 244 (“dragonfly”). This is a clue to first quiz-able-word 220A of sample phrase for top-level quiz 1410.

FIG. 71 shows a quiz-and-word-guessing-selector component being used to find a drill-down clue in the category of movies. The menu is similar to the menu of FIG. 56, except with a drill-down-clue-flyout submenu 325 instead of drill-down-clue submenu 324. Drill-down-clue-flyout submenu 325 leads to drill-down clues 393 with a television-quiz-category-menu option 394A, a movies-quiz-category-menu option 394B, a music-quiz-category-menu option 394C, and a sports-quiz-category-menu option 394D. Assuming selection of 394B with arrow cursor 99, FIG. 72 is displayed.

FIG. 72 shows a variant of the phrase component with an embedded-drill-down-quiz 280. Embedded-drill-down quiz 280 is expanded in FIG. 73. In FIG. 73, the drill-down quiz is a two-word expression. Phrase section 212 contains unrevealed first and second quiz-able-words 220C1 and 220D1, with hyperlinks. These represent the words “Marty” and “McFly” respectively, which are the first and last names of a movie character from the movie “Back to the Future”. Word-clue section 214 is labeled with a label 222B indicating a word-clue section. Word-clue section 214 contains first and second quiz-able-word-clue cells 230C and 230D. This variant of the phrase component also has a phrase-clue section 282. Phrase-clue section 282 includes a hyperlink to phrase clue(s) 284. Phrase clue cell 286 contains space where one or more phrase-level clues can be displayed. A phrase-level clue is a clue that is useful for solving the entire phrase. A phrase-level clue is distinguished from quizzes on unrevealed quiz-able-words 220C1 and 220D1 which are related to their respective associated word. Presuming selection of hyperlink 284, FIG. 74 is displayed.

FIG. 74 depicts a menu of one item for selecting a quiz that applies to the embedded-guess-the-phrase quiz. Presuming selection of movies-quiz-category-menu option 396 with arrow cursor 99, FIG. 75 is displayed.

FIG. 75 shows an embedded-embedded-drill-down quiz 290 within embedded-drill-down quiz 280 which was shown in FIGS. 72 and 73. Embedded-embedded drill down quiz 290 is expanded in FIG. 76.

FIG. 76 expands embedded-embedded drill down quiz 290 of FIG. 75. FIG. 76 shows unrevealed first and second quiz-able-words 220E1 and 220F1, with attached hyperlinks. Also shown are unrevealed first and second filler-words 218D1 and 218E1, with attached hyperlinks. Also shown are first and second quiz-able-word-clue cells 230E and 230F. A phrase-clue-section 283 shows a slightly modified arrangement from phrase-clue section 282 of FIG. 73. A hyperlink to phrase clue(s) 285 and a phrase clue-clue cell 287 are shown. Presuming selection of hyperlink 285 to the phrase clue(s), FIG. 77 is displayed.

FIG. 77 depicts a quiz-selector menu that appears over hyperlink-to-phrase-clue(s) 285. It has menus 397, a concealed-picture menu 398A, a sound-clip menu 398B, a video-clip menu 398C, and a text-clue menu 398D. Presuming selection of video-clip menu 398C with arrow cursor 99, FIG. 78 is displayed.

FIG. 78 depicts a “video quiz” component of the user interface. It has a heading for video-clip quiz 610. A video-clip player 620 displays a video-clip clue. In this case the video-clip clue is for the embedded-embedded-drill-down quiz shown in FIG. 76. Its solution is a movie name “Back to the Future”. A video-clip shown in 620 might be a clip from that movie or something associated with it.

Selecting a guess button 630 brings to focus the embedded-embedded drill down quiz represented in FIG. 76, except in a phrase-guessing mode. A successful answer would result in the disappearance of the embedded-embedded drill down quiz represented in FIG. 76 (after a few seconds), and its solved phrase would be displayed in phrase clue-clue cell 286 of FIG. 73. An unsuccessful answer would result in answering privilege passing to the next player in sequence (in multi-player mode) and focus returning to the “video quiz” component. Also shown with the “video quiz” component of FIG. 78 are a “pass” button 632 for passing answering privilege to the next player in sequence, a “replay” button 634 for replaying the video clip, a “next clip” button 636 for displaying the next video clip, and a “close” button 638 for closing the “video quiz” component.

FIG. 79 depicts a “quiz navigator” component of the user interface. The quiz navigator allows players to view information about a quiz tree and facilitates quiz solution. The quiz navigator borrows the nomenclature for logically describing a QNQ introduced in FIG. 1.

The quiz navigator includes a title bar 710, a menu bar 720, and a navigation device 730. Navigation device 730 allows a player to navigate a quiz-tree of any size or complexity by zooming in or out and by moving up and down, left and right. Sample top-level phrase 1410 (“A fly in the ointment”) has only the node for first quiz-able-word 220A (“fly”) shown beneath it. It is presumed that only first quiz-able-word 220A has had information revealed about it. An equally suitable embodiment would show all the second level nodes. Nodes 740, 750, and 752 are presumed to be revealed.

The first quiz-able-word's first clue 230A1 “Marty McFly” has first quiz-able-word 220C “Marty” and second quiz-able-word 220D “McFly”. It also has phrase clue 740 “Back to the Future” which is a movie name to which the character “Marty McFly” belongs. The solid circular node at 740 indicates the clue is revealed. A mouse-over event occurs by positioning hand-pointer cursor 95, over clue 740. Then, a text bubble 760A displays. Text bubble 760A displays the content of clue 740 in the quiz navigator. Clues 750 and 752 to the first and second quiz-able-words have solid circular nodes, indicating they are revealed.

FIG. 80 shows the quiz navigator with the same quiz-tree in the same state as FIG. 79, but with hand-pointer cursor 95 over clue 750, displaying text bubble 760B. The displayed clue is a sports figure with a name (“Billy Martin”) that bears a similarity to the first quiz-able-word 220C “Marty”. The match of answer “Marty” to clue “Billy Martin” presumes a run time comparison of words in the quiz database or else the existence of relationships that contain a match of “Marty” to the second word “Martin” of clue 750. The match would be established based on a shared character string (“Mart”) in the two words.

FIG. 81 shows the quiz navigator with the same quiz-tree in the same state as in FIGS. 79 and 80, but with hand-pointer cursor 95 over clue 752, displaying text bubble 760C. The match of “McFly” to the second word “McCartney” of clue 752 follows the same description as for the match of quiz “Marty” to clue “Billy Martin” shown in FIG. 80. In this case the words are matched based on their first two characters “Mc”.

FIG. 82 shows the quiz navigator with the same quiz-tree in the same state as in FIGS. 79-81, but with hand-pointer cursor 95 over unrevealed clue 220D, displaying text bubble 760D. Because clue 220D is unrevealed in this hypothetical example, only a mask (hiding the word “McFly”) is show in text bubble 760D.

FIG. 83 shows the quiz navigator with the same quiz-tree in the same state as in FIGS. 79-82, but with hand-pointer cursor 95, over unrevealed clue 230A1, displaying text bubble 760E. Because clue 230A1 is unrevealed, only a mask (hiding the phrase “Marty McFly”) is shown in text bubble 760E.

FIG. 84 shows the quiz navigator with the same quiz-tree in the same state as in FIGS. 79-83. FIG. 84 continues the previous hypothetical sequence. Hand-pointer cursor 95 is placed over text bubble 760E and the mouse button is clicked. This action makes text bubble 760E visible when the hand-pointer cursor 95 is not on top of clue 230A1, as shown in FIG. 85 (clue 230A1 is behind text bubble 760E).

In FIG. 85, the convention of FIG. 1 is broken somewhat in that lines are not all connected node-to-node. The line from first quiz-able-word 220C joins to the first masked word 761 of text bubble 760E to indicate that 220C belongs to the first word of 760E. Likewise, the line from second quiz-able-word 220D joins to the second masked word 762 of text bubble 760E. Since phrase clue 740 belongs to the entire phrase masked in text bubble 760E, it is connected to the text bubble border. Color coding could also be used to increase the clarity of the relationships in the quiz navigator window.

Also show in FIG. 85 is a quiz navigator cross-hair 765. This is a symbol that indicates which clue or node of the quiz-tree is active at any moment of time. The quiz navigator and the phrase component are shown in a consolidated view in FIG. 95. The quiz navigator and phrase component can be integrated. For example, double-clicking a node in the quiz navigator displays the cross-hair over it, and makes that node active in the phrase component as well. The cross-hair is dropped from the remaining figures in this sequence.

FIG. 86 shows the quiz navigator with the same quiz-tree in the same state as FIGS. 79-85. Hand-pointer cursor 95 is over unrevealed clue 220A, displaying a mask (hiding the word “fly”) in text bubble 760F, while text bubble 760E remains visible.

FIG. 87 shows the quiz navigator with the same quiz-tree in the same state as FIGS. 79-86. Hand-pointer cursor 95 is over sample top-level phrase 1410, displaying a mask (hiding the phrase “A fly in the ointment”) in text bubble 760G. Text bubble 760G is cut off by the border of the quiz navigator. Text bubble 760E remains visible. Unrevealed clue 220A is temporarily covered up; although the quiz navigator could be designed to display it with a faint outline overlain by text bubble 760G, or by repositioning 760G.

FIG. 88 shows an expanded view of menu bar 720 of the quiz navigator. Shown are view (“View”) and option (“Option”) menus 722 and 724 respectively. Under option menu 722 are menu items “Show Selected Clues . . . ” 725 and “Show All Clues . . . ” 726. The discussion of FIGS. 83 and 84 presumes that menu item 725 had been selected. When menu item 726 is selected with arrow cursor 99, FIG. 89 is displayed. FIG. 89 shows the quiz navigator in a slightly expanded window. All the revealed and unrevealed node content from first quiz-able-word 220A and below are shown in their respective text bubbles. Also shown is text bubble 760G for sample top-level phrase 1410. FIG. 89 includes text bubble 760H for first quiz-able-word 220C, which shows the mask for the word “Marty”.

FIG. 90 shows an expanded view of menu bar 720 of the quiz navigator. Under view menu 722 are “Branch View . . . ” and “Folder View . . . ” menu items 727 and 728 respectively. FIGS. 79-89 presume that menu item 727 had been selected. Clicking on menu item 728 with arrow cursor 99 changes the quiz navigator from “branch mode” to “folder mode”. Folder mode of the quiz navigator is depicted in FIGS. 91-95. Other embodiments could use a UNIX or DOS path file nomenclature or some other method for displaying the hierarchy.

FIGS. 91-93 show the quiz navigator with the same quiz-tree in the same state as FIGS. 79-89 but in folder mode. FIG. 91 shows at the top-level a folder icon and name 770 for sample top-level phrase 1410. One level beneath 770 are folder icons and names 772, 774 and 776 for first, second and third filler-words 218A, 218B and 218C respectively. Also one level beneath 770 are folder icons and names 780 and 790 for first and second quiz-able-words 220A and 220B respectively. A “plus” (“+”) sign 791 indicates that a folder can be expanded to reveal additional quiz information. Clicking a mouse button with arrow cursor 99 over the 791 of 780 expands the folder as shown in FIG. 92.

FIG. 92 shows an open folder icon and name 780A for first quiz-able-word 220A. One folder level below is the folder icon and name 782 for first quiz-able-word's first clue 230A1. Clicking a mouse button with arrow cursor 99 over 791 of 782 expands the folder as shown in FIG. 93.

FIG. 93 shows an open folder icon and name 782A for first quiz-able-word's first clue 230A1. One folder-level below is a folder icon and name 784 for phrase clue 740, a folder icon and name 786 for first quiz-able-word 220C, and a folder icon and name 788 for second quiz-able-word 220D.

FIG. 94 shows an open folder icon and name 786A for first quiz-able-word 220C. One folder level below is a folder icon and name 787 for clue to first quiz-able-word 750. Open folder icon and name 788A for second quiz-able-word 220D has below it folder icon and name 789 for clue to second quiz-able-word 752.

FIG. 95 depicts components of the user interface as they appear in an integrated display. The integrated display includes the phrase component 9512 with a title bar 9510, the quiz navigator component 9540 (shown if FIG. 85), a score-and-control component 9530, and a match-parameters-display component 9550. Other display components are minimized and available for selection by selecting a corresponding button.

A “Pause/Quit Match” component (not shown) can be displayed with a “Pause/Quit Match” button 9560. A “Score and Control” component button 9562, shown as grayed to indicate it has been selected, displays score-and-control component 9530. A “Match Parameters” component button 9564, shown as grayed to indicate it has been selected, displays match-parameters-display component 9550. A quiz navigator component button 9566, shown as grayed to indicate it has been selected, displays quiz navigator component 9540. A “Match History” component button 9568, shown as grayed to indicate it has been selected, displays a “Match History” component (not shown). A phrase component button 9570, shown as grayed to indicate it has been selected, displays phrase component 9512. A “My Player Console” button 9572 displays a “My Player Console” (not shown). A “Chat” button 9574 displays a chat component (not shown).

ADVANTAGES

From the description above, a number of advantages of some embodiments presented become evident:

    • a. A novel user interface is devised for playing quiz games with multiple logical-levels of quiz-solving. This novelty also applies to alternative embodiments where the answer to a lower clue/answer pair is not necessarily equivalent to or necessarily related to a clue to an upper clue/answer pair that is revealed by the solution of the lower answer.
    • b. These embodiments are intellectually stimulating and entertaining to play. They provide participants with a new recreational activity.
    • c. A tree-formulator means is devised for associating raw quiz data into quiz structures that can be persisted and played by many different players at many different times. This supports embodiments that can maintain a high degree of novelty. It also encourages embodiments that are both highly ubiquitous and accessible.
    • d. A framework is devised for facilitating the creation of quiz structures, specifically described as quiz-trees. This framework can include varying degrees of automation. This allows novelty to be constantly infused into the game by the addition of new quiz-trees.
    • e. A framework for customizing quiz structures based on numerous parameters is devised. These parameters will include such things as quiz-tree depth, the number of clues allowed or required under a related answer, difficulty, and category. Enhancements include the updating of a quiz database with player data to update quiz-tree and sub-quiz difficulty ratings.
    • f. Customization can include personalization, such that players can create their own quiz structures and insert their own phrases and quizzes, further increasing novelty.
    • g. A frameword that facilitates customization of quiz structures also facilitates the creation of quiz structures suited to predictable approximate match durations. Popular quest-type games in the prior art may lead to futility by not having a demarcated beginning and end. However, the quiz structures are generally discreet and highly customized. This lends to embodiments that will maintain their novelty and yet fit within a balanced lifestyle shared by a broad community of players.
    • h. When embodiments with alternative quiz-data sources, quiz-types, and media types are considered, the potential for sustained novelty becomes even greater.
    • i. The multi-player embodiments in particular lend to a rapidly expanding demand for social networking and community-based games and applications. Embodiments facilitate friends interacting online in a healthy, socially-positive manner.
    • j. A runtime means is devised to allow players to play the embodiments with electronic gaming devices over the Internet to provide a high degree of accessibility.
    • k. A distributed architecture permits a high degree of scalability, accessibility and ubiquity to provide the game to a vast number of players with worldwide distribution. At the same time, there is potential for very low latency in the development, distribution, and enhancement of quiz structures.
    • l. The embodiments are inherently educational. Playing the embodiments can increase the knowledge and associative ability of participants. Quiz and category selection can be adapted for different subjects, ages, and grade or course levels. A high-degree of customizability allows for the development of quiz structures that support highly custom curricula. Specific text book data and other curricula can provide the raw quiz data. The features that promote sustained novelty further enhance a learning context for the embodiments by making learning fun.
    • m. Many classical non-computer games have been adapted into computer and Internet games in the prior art. In some cases, the historical games have been modified and combined with one another. In contrast, the present embodiments take advantage of advances in computer hardware, software, programming technologies, and the Internet along with high-speed access to it, to devise an entirely new type of game. The present and future embodiments can take full advantage of these technological advances. This approach lends to a game that is highly feature-rich, accessible and ubiquitous. These embodiments also hold promise for a sustained, high degree of novelty.

CONCLUSION, RAMIFICATIONS, AND SCOPE

As can be seen from the present embodiments, A QNQ may:

    • a. offer player control over which sub-quizzes are selected and the order of their selection;
    • b. contain different quiz types in the same puzzle;
    • c. contain different media types in the same puzzle;
    • d. be offered in single-user and multi-player embodiments;
    • e. include special rules for answering quizzes and for determining and passing control in multi-player embodiments;
    • f. include a scoring system.

A QNQ is supported by a system that can be used to manage:

    • a. persistent storage of quiz-structures, including node and associated data, unless an embodiment creates the structures exclusively at runtime;
    • b. runtime program structures, methods and states of quiz-trees and their nodes;
    • c. connectivity between distributed components;
    • d. the presentation of the user interface in single-user and multi-user modes and embodiments;
    • e. the presentation of quiz, score, player, game state and other data to the user interface in single-user and multi-user embodiments;
    • f. match control and answering rules.

A QNQ system can also include functionality to:

    • a. input, store and manage expressions that facilitate the creation of quiz-trees;
    • b. create, update and customize quiz-trees;
    • c. establish a match by inviting players and setting match parameters;
    • d. administer a match in progress;
    • e. define different roles within the system and assign persons to roles;
    • f. allow players to customize their player accounts;
    • g. manage history and difficulty information about quizzes and quiz-trees;
    • h. incorporate statistical history and difficulty information into new matches;
    • i. support integration with communication tools and community-ware;
    • j. support integration with payment, advertising and marketing infrastructures;
    • k. support massive multiplayer online gaming for many simultaneous matches in progress;
    • l. distribute access to certain system functionality to various roles or persons, including the participants.

While my above description contains many specificities, these should not be construed as limitations on the scope of the invention, but rather as an exemplification of the embodiments thereof. A myriad of variations are possible. Selection means could be provided to eliminate character input. In the detailed embodiment, node-level four could be removed and the trivia-quiz answers could occupy the lowest clue level. Multiple-choice-trivia quizzes could be used in the main embodiment. Alternate user interface components, architectures, quiz and media types, and player forums are possible. Media types include video, pictures and audio. Alternate data structures, data sources, and means for relating and organizing quiz data are possible. Data for quiz structures could be taken from news and journal feeds and other online and offline sources. Linear quiz-chains could be used as opposed to trees.

Many enhancements for creating quiz-trees or other logical structures are possible. For example, node-levels devised or possible in the logical quiz structure could be skipped over in the interface to create another type of challenge. Other embodiments might not require persistent storage of quiz structures and nodes; rather, quiz structures could be assembled at runtime. Quiz structures might be assembled just prior to the initiation of play. They might also be defined and redefined during play. In such cases, their data might be persistent only in the context of the current iteration or not at all. Indiscreet embodiments without defined end-nodes are possible. Embodiments that integrate with other applications, such as community ware are possible. Other modes of play, such as having a simulated opponent, are possible. Television or Internet broadcast game show formats are possible. A studio broadcast combined with interactive play by non-studio participants is possible. Audio embodiments are possible where the focus is to present clues in music. Speech recognition selection and other alternative input means are possible. Accordingly, the scope of the invention should be determined not by the embodiments illustrated, but by the appended claims and their legal equivalents.

Claims

1. A quiz game played by one or by one or more players, comprising: whereby a guess at said answer comprised by said lower clue/answer pair may yield a clue to said upper answer comprised by said upper clue/answer pair.

(a) a plurality of clues;
(b) a plurality of answers;
(c) a plurality of clue/answer pairs, each comprising: i. one of said clues, and ii. one of said answers;
(d) a system means, which system means will: i. reveal a clue comprised by a specific clue/answer pair, termed a lower clue/answer pair, to said player(s); ii. allow a player from among said player(s) to provide a guess at said answer comprised by said lower clue/answer pair; iii. accept said guess at said answer comprised by said lower clue/answer pair; iv. validate said guess at said answer comprised by said lower clue/answer pair to determine a validation result; v. depending on said validation result, reveal a clue comprised by a specific clue/answer pair, termed the upper clue/answer pair, to said player(s),

2. The quiz game of claim 1, wherein said answer comprised by said lower clue/answer pair, and said clue comprised by said upper clue/answer pair are related.

3. The quiz game of claim 1, wherein said answer comprised by said lower clue/answer pair, and said clue comprised by said upper clue/answer pair are equivalent.

4. The quiz game of claim 1, wherein said system means will further:

(a) provide an indication of said answer comprised by said upper clue/answer pair to said player(s);
(b) provide a selector means to allow said player(s) to select said clue comprised by said lower clue/answer pair;
(c) attach said selector means to said indication of said answer comprised by said upper clue/answer pair, whereby said player(s) may use said selector means attached to said indication of said answer comprised by said upper clue/answer pair to select said clue comprised by said lower clue/answer pair.

5. The quiz game of claim 4, wherein said system means includes one or more electronic gaming devices.

6. The quiz game of claim 5, wherein said system means further comprises a computer program means to associate said answer comprised by said lower clue/answer pair with said clue comprised by said upper clue/answer pair.

7. The quiz game of claim 1, wherein said system means includes one or more electronic gaming devices.

8. The quiz game of claim 1, wherein said system means includes one or more computers.

9. The quiz game of claim 1, wherein said system means further comprises a persistent computer storage means to associate said answer comprised by said lower clue/answer pair with said clue comprised by said upper clue/answer pair, and to associate one of said clues with one of said answers for each of said plurality of clue/answer pairs.

10. The quiz game of claim 1, wherein said system means further comprises a runtime computer program means to associate said answer comprised by said lower clue/answer pair with said clue comprised by said upper clue/answer pair, and to associate one of said clues with one of said answers for each of said plurality of clue/answer pairs.

11. A method for providing a quiz with linked quiz levels, played for learning and/or entertainment by one or by one or more players, comprising: whereby at least three node levels are related to provide at least two linked quiz levels.

(a) providing a quiz structure and supporting system means, comprising: i. providing a plurality of information fragments, and ii. providing a plurality of nodes, which comprises assigning a unique identifier to an information fragment for a multiplicity of information fragments from among said plurality of information fragments, using an identification means, and iii. associating three or more of said nodes into a node chain, wherein a first node is associated to a second node by an association means and said second node is associated to a third node by an association means, and
(b) providing a user interface and supporting system means, which will: i. provide a first exposure means for exposing said information fragment comprised by said third node to said player(s), and ii. provide a second exposure means for exposing said information fragment comprised by said second node to said player(s), and iii. provide a first guessing means by which said player(s) can provide a second-node guess at said information fragment comprised by said second node, and iv. provide a first validation means for validating said second-node guess, which yields a second-node validation result, and v. depending on said second-node validation result, use said second exposure means to expose said second node,

12. The method of claim 11, wherein said user interface and supporting system means will further:

i. provide a third exposure means for exposing said information fragment comprised by said first node to said player(s), and
ii. provide a second guessing means by which said player(s) can provide a first-node guess at said information fragment comprised by said first node, and
iii. provide a second validation means for validating said first-node guess, which yields a first-node validation result, and
iv. depending on said first-node validation result, use said third exposure means to expose said first node.

13. The method of claim 12, wherein said user interface and supporting system means will further: whereby said player(s) may use said selector means attached to said indication of said first node to expose said third node.

i. provide an indicator means for providing an indication of said first node to said player(s), and
ii. provide a selector means for allowing said player(s) to expose said third node using said first exposure means, and
iii. provide an attachment means for attaching said selector means to said indication of said first node,

14. The method of claim 13, wherein said user interface and supporting system means further comprises one or more electronic gaming devices.

15. The method of claim 12, wherein said quiz structure and supporting system means further comprises a persistent computer storage means.

16. The method of claim 12, wherein said quiz structure and supporting system means further comprises a runtime computer program means.

17. The method of claim 12, wherein said user interface and supporting system means further comprises one or more electronic gaming devices.

18. A quiz game, played by one or more players, for providing entertainment, and/or for testing knowledge, and/or for enhancing the general knowledge and associative ability of a player, said quiz game comprising: whereby said quiz game includes two related quizzes comprising two quiz levels.

(a) a plurality of quizzes, each comprising: i. one or more clues, each of said clues having a content comprising data, and ii. a corollary answer to said clue or clues, said answer having a content comprising data, and
(b) an upper quiz from among said plurality of quizzes, and
(c) a lower quiz from among said plurality of quizzes, and
(d) an association means for associating said upper quiz and said lower quiz, wherein the content of said corollary answer of said lower quiz is equivalent to the content of a specific clue belonging to said upper quiz,

19. The quiz game of claim 18, wherein said association means further includes a computer program means.

20. The quiz game of claim 18, further comprising one or more electronic gaming devices.

21. The quiz game of claim 18, further comprising a third quiz from among said plurality of quizzes, wherein said association means further includes a means for associating said upper quiz with said third quiz, wherein the content of said corollary answer of said upper quiz is equivalent to the content of a specific clue belonging to said third quiz, whereby said quiz game includes three related quizzes comprising three quiz levels.

22. The quiz game of claim 18, wherein said association means comprises a recursive association means, said recursive association means being able to associate an indefinite number of additional quizzes, wherein said upper quiz exists as a lower quiz in respect to an additional quiz, which additional quiz exists as an upper quiz in respect to it, whereby said quiz game includes an indefinite number of related quizzes comprising an indefinite number of quiz levels.

Patent History
Publication number: 20090091087
Type: Application
Filed: Sep 30, 2008
Publication Date: Apr 9, 2009
Inventor: Robert Andrew Wasmund (Toronto)
Application Number: 12/285,212
Classifications
Current U.S. Class: Questions And Answers (273/430)
International Classification: A63F 9/18 (20060101);