US20090091087A1 - Quiz-nested quiz game and system therefore - Google Patents
Quiz-nested quiz game and system therefore Download PDFInfo
- Publication number
- US20090091087A1 US20090091087A1 US12/285,212 US28521208A US2009091087A1 US 20090091087 A1 US20090091087 A1 US 20090091087A1 US 28521208 A US28521208 A US 28521208A US 2009091087 A1 US2009091087 A1 US 2009091087A1
- Authority
- US
- United States
- Prior art keywords
- quiz
- node
- word
- clue
- answer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 239000012634 fragment Substances 0.000 claims abstract description 43
- 238000010200 validation analysis Methods 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims description 199
- 230000002085 persistent effect Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 2
- 230000002708 enhancing effect Effects 0.000 claims 1
- 230000014509 gene expression Effects 0.000 description 110
- 238000010586 diagram Methods 0.000 description 43
- 230000002776 aggregation Effects 0.000 description 40
- 238000004220 aggregation Methods 0.000 description 40
- 230000009471 action Effects 0.000 description 29
- 230000004044 response Effects 0.000 description 24
- 239000002131 composite material Substances 0.000 description 20
- 239000002674 ointment Substances 0.000 description 12
- 241000699666 Mus <mouse, genus> Species 0.000 description 9
- 238000013461 design Methods 0.000 description 9
- 238000003780 insertion Methods 0.000 description 8
- 230000037431 insertion Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000000873 masking effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 101100440286 Mus musculus Cntrl gene Proteins 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000002688 persistence Effects 0.000 description 3
- 230000002459 sustained effect Effects 0.000 description 3
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 2
- 235000014552 Cassia tora Nutrition 0.000 description 2
- 244000201986 Cassia tora Species 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 2
- 244000046052 Phaseolus vulgaris Species 0.000 description 2
- 241000233805 Phoenix Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 239000006071 cream Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000002516 radical scavenger Substances 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 241000238633 Odonata Species 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000011111 cardboard Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000011087 paperboard Substances 0.000 description 1
- 230000000063 preceeding effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000004936 stimulating effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F9/00—Games not otherwise provided for
- A63F9/18—Question-and-answer games
-
- A63F13/10—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
- A63F13/537—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
- A63F13/5375—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn in a driving game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F9/00—Games not otherwise provided for
- A63F9/18—Question-and-answer games
- A63F2009/186—Guessing games
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/30—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
- A63F2300/303—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display
- A63F2300/305—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display for providing a graphical or textual hint to the player
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5526—Game data structure
- A63F2300/5533—Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8064—Quiz
Definitions
- 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.
- 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.
- 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.
- 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 WARCRAFTTM. 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 CLUESTM, 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. 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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”.
- 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.
- 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.
- 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( . . .
- 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( . . .
- 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( . . .
- ExampleID1 “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( . . .
- ParentNodeID (“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( . . .
- 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( . . .
- 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 5212D “S
- 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( . . .
- 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.
- 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.
- FIG. 1 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.
- nodes levels are consecutively numbered from the top level to the lowest level.
- 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.
- 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.
- a player might choose to bypass solving the level-“n ⁇ 1” node and directly solve the level-“n ⁇ 2” node.
- 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 146 A 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.
- 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.
- quiz solution is directed from bottom to top within branches, cognitively progressing one level at a time within a branch.
- selection of quizzes is directed from top to bottom.
- the interface provides an indication of the top-level quiz at the beginning of a round, even though its solution is obscured.
- players have no exposure to the top-level quiz until later in the game.
- 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.
- hints may be implicit to an indicator means for indicating a node without revealing it, such as a masking means.
- 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.
- 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.
- 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.
- 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”.
- 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”.
- 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.
- 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.
- nodes of the present embodiment at node-levels two, three and four refer to the first, second and third nodes respectively.
- 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 .
- the numbering of FIG. 14 is used.
- FIGS. 2-13 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”.
- avigation 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.
- 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.
- 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 218 A 1 , 218 B 1 and 218 C 1 , with attached hyperlink.
- a question mark character is used to distinguish each character of unrevealed first and second quiz-able-words, with attached hyperlink 220 A 1 and 220 B 1 .
- 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.
- 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.
- 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.
- 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 230 A or 230 B below the quiz-able-word to which it pertains.
- Each clue remains displayed until the end of a round.
- 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 218 A 1 , 218 B 1 and 218 C 1 are not subject to input and display nothing, and are therefore represented as grayed.
- a player can initiate a guess at the top-level quiz by selecting a “Solve-phrase” button 216 A, visible in navigation mode.
- the quiz-and-word-guessing-selector component takes the form of a menu over the phrase component just below unrevealed first quiz-able-word 220 A 1 , 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.
- 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.
- 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.
- 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.
- 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.
- An attachment means attaches the selector means to the indication of the quiz-able word.
- the attachment means includes a system means.
- 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 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 332 A, a movies-quiz-category-menu option 332 B, a music-quiz-category-menu option 332 C, and a sports-quiz-category-menu option 332 D.
- Each quiz-category-menu option 332 A- 332 D displays the number of available quizzes per category in brackets. For example, a number of quizzes 332 A 1 in the “television” category is shown to be five.
- 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.
- 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 410 A.
- Quiz heading 410 A includes a category 410 A 1 , a quiz number 410 A 2 per category, and a total number of available quizzes 410 A 3 in the category pertaining to the quiz-able-word ( 220 A of FIG. 14 ).
- a quiz question 412 A 1 is displayed in a quiz question 412 A 1 , and an answer label 414 A 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.
- the trivia-quiz component and particularly quiz question 412 A 1 , 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.
- 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.
- 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 474 B, 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 474 C indicates the next player in the answering privilege order.
- a third player name 474 A is also indicated.
- FIG. 5 depicts the trivia-quiz component with answer-attempt text 416 A 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.
- 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.
- 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.
- An alternative embodiment might support a ‘first-response’ answering system.
- 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.
- a new clue 230 A 1 is revealed in quiz-able-word clue cell 230 A as depicted in FIG. 6 .
- First quiz-able-word 220 A 1 has first clue 230 A 1 , “Marty McFly”, a movie character.
- Clue 230 A 1 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 230 A 1 is revealed by a second exposure means.
- 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.
- a “buy-word” menu 338 containing one item, is next displayed as shown in FIG. 7 .
- 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 218 B 5 that was revealed by buying a word. Further player action cannot be taken on revealed second filler-word 218 B 5 as shown by its lack of a hyperlink, which had been indicated by underlining.
- the phrase component might appear similar to FIG. 9 , except with two clues revealed in first quiz-able-word cell 230 A.
- the player with control might guess at unrevealed first quiz-able-word 220 A 1 , with attached hyperlink. This can be accomplished with word-guess menu option 312 depicted in FIG. 3 .
- Second quiz-able-word's presumed second clue 230 A 2 “The Flight of the Phoenix”, is a movie name.
- Clue 230 A 2 is also an expression containing a word derivative, “flight”, of the quiz-able-word, “fly”.
- solve-phrase button 216 A of FIG. 9 disappears. It is replaced by a submit-guess button 216 B, a clear-guess button 216 C, a cancel-guess button 216 D, and a point-deduction warning 216 E of FIG. 10 .
- a first quiz-able-word response 220 A 4 is accepted as text input from a player. The interface indicates that the field in which 220 A 4 is input is “active” by enlarging the font of 220 A 4 , placing a field border 97 around it, and placing an insertion cursor 98 in the field.
- Unrevealed second quiz-able-word 220 B 2 without attached hyperlink and unrevealed first and third filler-words 218 A 2 and 218 C 2 , without attached hyperlink will not accept input or action, as depicted by their absence of underlining, and are therefore “inactive”.
- FIG. 10 depicts two of the three characters of 220 A as having been inserted.
- the phrase component in word-guessing mode, and particularly response 220 A 4 and button 216 B are part of a second guessing means. Also included is the quiz-and-word-guessing selector component, and particularly 312 .
- 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.
- 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.
- revealed first quiz-able word 220 A 5 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 216 A ( FIG. 9 , 216 A 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 230 B 1 , for second quiz-able-word 220 B 3 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 230 B 2 , for 220 B 3 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 220 B ( 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 216 B submits the phrase attempt for validation.
- Clear-guess button 216 C masks all previously unsolved words, in this case 218 A, 218 C and 220 B ( FIG. 14 ), leaving the phrase component in phrase-guessing mode.
- Cancel-guess button 216 D ( FIG. 11 ) cancels phrase-guessing and returns the phrase component to navigation mode.
- Point-deduction-warning label 216 E 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 218 A 4 to the first filler-word, a response 218 C 4 to the third filler-word, and second quiz-able-word 220 B 3 in a guessing mode.
- These words can accept player input and are active. Revealed first quiz-able-word 220 A 5 and revealed second filler-word 218 B 5 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 218 A 4 . Once all characters of response 218 A 4 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 218 A 4 , 218 C 4 , and 220 B 3 .
- FIG. 12 depicts a continuation of the phrase component in phrase-guessing mode. Completed response 218 C 4 to the third filler-word, and response 220 B 4 to the second quiz-able-word are shown. It is presumed that hand-pointer cursor 95 is next placed over submit-guess button 216 B. Clicking button 216 B 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 218 A 5 , revealed third filler-word 218 C 5 , and revealed second quiz-able-word 220 B 5 are shown. These are in addition to previously revealed first filler-word 218 A 5 and previously revealed second filler-word 218 B 5 .
- 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 216 F displays in place of the buttons and point-deduction warning of the other modes.
- 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.
- 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 412 A 1 is the trivia-quiz question introduced in FIG. 4 . Its solution is first quiz-able-word's first clue 230 A 1 , at node-level 3 . It is one of two clues to first quiz-able-word 220 A. First quiz-able-word 220 A is one word of top-level answer 1410 .
- Quiz question 412 A 2 is another quiz question, not previously specified. Its solution is the first quiz-able-word's second clue 230 A 2 discovered for the first quiz-able-word in the sample round. It is the other of two clues to first quiz-able-word 220 A.
- Quiz questions 412 A 3 and 412 A 4 are quiz questions, not previously specified, whose answers become the second quiz-able-word's first clue 230 B 1 and second clue 230 B 2 respectively.
- Second quiz-able-word 220 B was formally solved with the top-level phrase solution in the sample round. It is therefore depicted as a cognitively solved clue.
- nodes are drawn to depict the domain of quizzes that were available in the sample round.
- Filler-words 218 A, 218 B and 218 C round out node-level 2 .
- Filler-word 218 B was revealed by buying a word in the sample round, and so is depicted with the symbol for a revealed clue 142 .
- Filler-words 218 A and 218 C 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 1420 A were used to group quizzes that provide clues for first quiz-able-word 220 A. Categories include a sports category 1420 A 1 , a movies category 1420 A 2 , a music category 1420 A 3 and a television category 1420 A 4 . Categorization details are indicated on the first quiz-able-word only.
- Trivia-quiz categories 1420 B are also used to group the quizzes that provide clues for second quiz-able-word 220 B.
- 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 , 332 A- 332 D 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.
- 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 .
- 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 .
- a player can access the buy filler-word menu, and confirmation dialogue 1550 (depicted in FIGS. 7 and 8 ).
- 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 .
- 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.
- 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 .
- a web client 1610 might present the game to players as dynamic HTML pages, created from Java Servlets and/or JavaServer PagesTM 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.
- XML extensible markup language
- 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.
- 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.
- 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 .
- a QNQ could combine physical media with a computer based embodiment.
- 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”.
- 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.
- multi-player/hosted mode a participant plays the role of a host and selects predefined or custom quiz-trees, for the players.
- solitary player mode there is only one player. Other embodiments are possible.
- 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.
- players without the ability to act would be presented the same user interface components as the player with control/answering privilege.
- functionality for initiating or responding to quizzes would be disabled.
- a combination of approaches can also be used.
- a scoring system is provided for the present embodiment.
- Alternative scoring systems can be devised for different 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.
- 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.
- 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.
- 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.
- Ann solves first clue 230 A 1 of the first quiz-able-word, Sally solves its second clue 230 A 2 , and then solves first quiz-able-word 220 A. Then suppose Betty solves first and second clues 230 A 3 and 230 A 4 of the second quiz-able-word, and solves the phrase, by-passing the solution of the second quiz-able-word 220 B. Suppose that Betty makes three incorrect guesses, Ann makes one, and Sally one. Suppose Ann buys one filler-word.
- Betty will have earned 500 points for solving the phrase. Betty also earns 62.5 points (“(1 ⁇ 4) ⁇ 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.
- 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.
- 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.
- quizzes are selected during a round of play based on player actions.
- 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.
- 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 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- phrase-guess 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.
- 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.
- 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.
- 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 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.
- the correct answer from the quiz database is presented as the clue to the one-higher quiz.
- Other embodiments might present the guess instead.
- 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 .
- 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.
- node 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 .
- 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.
- 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 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.
- 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.
- FIGS. 4 and 5 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.
- a navigation-mode-GUI (“NavModeGUI”) class 1729 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 general
- 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 .
- TurnGUI turn-GUI
- Cntl&ScoreGUI control-and-score-GUI
- 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.
- 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.
- 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.
- 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.
- 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”) 1850 A, which is a unique id for the quiz-able-word on which the event occurred.
- GTPWdNdID guess-the-phrase-word node ID
- a reference 1850 B to the current player (“player”) is also passed.
- 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 1850 B 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.
- game object 1816 calls its set-active-node (“setActiveNode( . . . )”) method 1859 to set guess-the-phrase-word node ID 1850 A 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( . . .
- 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.
- 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 1850 A, a reference 1850 B to the player, and a category (“cat”) 1950 A which the next trivia-quiz is to be selected from.
- 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 1850 A, 1850 B, and 1950 A.
- Game object calls its validate-control method 1854 to validate that player 1850 B 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 1950 A.
- 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 1950 A.
- lookupNextTQANd( . . . ) a lookup-next-trivia-quiz-answer-node
- 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 .
- game object 1816 calls its set-active-node (“setActiveNode( . . . ”) method 1962 to set trivia-quiz-question node ID (“TQQNdID”) 1962 A 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 1962 A, and trivia-quiz question 1968 A which is the text for the question.
- An example of this text as represented in the interface is 412 A 1 of FIG. 4 .
- Message 1968 also passes a trivia-quiz-by-category-index (“trivQuizByCatIndx”) parameter 1968 B.
- Parameter 1968 B is the index of the question for the given category 1950 A.
- Parameter 1968 B enables the interface to represent 410 A 2 of FIG. 4 .
- Message 1968 also passes a trivia-quiz-by-category-total (“trivQuizByCatTot”) parameter 1968 C. This is the total number of trivia-quizzes or trivia-quiz questions within the selected category 1950 A for the given guess-the-phrase-word.
- Parameter 1968 C is represented as 410 A 3 in FIG. 4 .
- Message 1968 also passes category 1950 A. This is represented as 410 A 1 in FIG. 4 .
- Game object 1816 also displays answering-turn-display component 470 of FIG. 4 .
- method 1968 of FIG. 19 provides detail on the first exposure
- 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”) 1970 A, an index 1970 B of 1970 A for the player with answering privilege (“ansPrivIndex”), and a reference to a “clock” object 1970 C, to keep the time remaining for an answer.
- controlSeq an array of players, in order of control
- ansPrivIndex an index 1970 B of 1970 A for the player with answering privilege
- clock object 1970 C
- 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 1962 A, reference 1850 B to the player, and an attempt (“attempt”) 2050 A 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 1962 A, 1850 B, and 2050 A.
- 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.
- getNodeState( ) a get-node-state
- 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”) 2059 A 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 2050 A against array of valid answers 2061 . The result is ‘success’ or ‘failure’, which determines the subsequent sequence.
- 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 2150 A 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 2150 A. 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”) 2162 A.
- Game object 1816 next initiates an update-score (“updateScore( . . . )”) sequence 2164 , passing a reference to the player (“player”) 1850 B whose score is to be updated and the points (“points”) 2164 A, 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 .
- game object 1816 calls its set-control-index (“setControlIndex( . . . )”) method 2166 to set control to current player 1850 B.
- 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.
- 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 1850 B whose score is to be changed, and the points (“points”) 2164 A 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.
- update-score (“updateScore( . . . )”) method 2250 of round object 2110 , passing a reference to the player 1850 B whose score is to be changed, and the points (“points”) 2164 A 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 1850 B and 2164 A. It then calls a get-scores (“getScores( )”) method 2256 of match object 2112 to get an array of player scores for the match.
- update-score (“updateScore( . . . )”) method 2254 of match object 2112 , passing 1850 B and 2164 A. It then calls a get-scores (“getScores( )”) method 2256 of match object 2112 to get an array of player scores for the match.
- 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 2059 A and a trivia-quiz answer (“triviaAnswer”) 2352 A to be displayed by navigation-mode-GUI object 1810 .
- 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[ ]”) 2354 A, and match (“match.player.score[ ]”) 2354 B, an array of players, in order of control (“controlSeq”) 1970 A, and an index 2354 C of 1970 A for the player with control (“cntrlIndex”).
- FIG. 24 shows the sequence diagram when a trivia-quiz guess is incorrect.
- Game object 1816 initiates update-score sequence 2164 , passing player reference 1850 B and points 2164 A. 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.
- next-answering-privilege next-answering-privilege
- 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 2354 C value is not equal to answering-privilege index 1970 B value.
- an update-trivia-quiz-GUI (“updateTrivQuizGUI( . . . )”) message 2456 is sent to trivia-quiz-GUI object 1914 , passing trivia-quiz-question node ID 1962 A.
- 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.
- Game object 1816 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 2162 A. 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 2162 A.
- 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 2354 A and 2354 B, as well as control sequence array 1970 A and control index 2354 C.
- 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 1962 A and a reference 1850 B to the player.
- Controller object 1814 sends a pass message 2552 to game object with parameters 1962 A and 1850 B.
- Game object 1816 calls its validate-answering-privilege method 2054 to validate that player 1850 B has answering privilege. If for any reason player 1850 B 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 .
- FIG. 26 shows the sequence diagram when a player attempts to solve a quiz-able-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 .
- a submit-word-guess (“submitWordGuess( . . . )”) message 2650 is sent from word-guessing-mode-GUI (“WdGuessingModeGUI”) object 2610 to controller object 1814 .
- WdGuessingModeGUI word-guessing-mode-GUI
- Passed in message 2650 are guess-the-phrase-word node ID 1850 A, a reference 1850 B to the player, and a word attempt (“wordAttempt”) 2650 A.
- Message 2650 deals with a second guessing means.
- the rest of FIG. 26 generally deals with a second validation means.
- controller object 1814 send a validate-word-attempt (“validateWordAttempt( . . . )”) message 2652 to game object 1816 , passing 1850 A, 1850 B and 2650 A.
- Game object 1816 next calls its validate-answering-privilege method 2054 , validating if player 1850 B 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.
- game object 1816 calls its set-active-node method 1859 to set the active node to the guess-the-phrase-word node ID 1850 A.
- 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 2650 A against array of valid answers 2655 .
- 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 2150 A 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 2162 A.
- Game object 1816 next initiates update-score sequence 2164 , passing player reference 1850 B and points 2164 A.
- the score is updated in round object 2110 , and in match object 2112 as detailed in update-score sequence 2140 ( FIG. 22 ).
- game object 1816 calls its set-control-index method 2166 to set control to the current player 1850 B.
- 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 2162 A and a word answer (“wordAnswer”) 2753 to be displayed in the phrase component.
- wordAnswer a word answer
- Game object 1816 also sends update control-and-score-GUI message 2354 to control-and-score-GUI object 2310 , passing 2354 A, 2354 B, 1970 A, and 2354 C.
- FIG. 28 shows the sequence when a guess at a quiz-able-word is incorrect.
- Game object 1816 sends update-score messages 2164 , passing 1850 B and 2164 A.
- 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 2162 A. Game object 1816 then sends update-navigation-mode-GUI message 2352 to navigation-mode-GUI object 1810 , passing guess-the-phrase-phrase node ID 2162 A. Object 1816 then sends update-control-and-score-GUI message 2354 to control-and-score-GUI object 2310 , passing 2354 A, 2354 B, 1970 A, and 2354 C.
- 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 1850 A and player reference 1850 B. Controller object 1814 sends a buy-filler-word message 2952 to game object 1816 , passing 1850 A and 1850 B.
- 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.
- game object 1816 calls set-active-node method 1859 to set the active node to guess-the-phrase-word node ID 1850 A.
- 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 1850 B and 2164 A. 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 2162 A, word node ID 1850 A, 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 2354 A and 2354 B, control sequence array 1970 A and control index 2354 C.
- FIG. 30 shows the sequence for an attempt to solve the top-level 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 2162 A, 1850 B, and a phrase-attempt array containing the phrase attempt (“attempt[ ]”) 3050 A.
- Phrase-attempt array 3050 A 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 2162 A, 1850 B, and 3050 A.
- Game object 1816 calls its validate-answering-privilege method 2054 to validate that player 1850 B 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.
- game object 1816 calls its set-active-node method 2162 to set the guess-the-phrase-phrase node 2162 A 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” 3056 A 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 .
- lookupGTPWdNd(n) lookupGTPWdNd(n)
- Game object 1816 next calls a get-nth-word-node-state (“getNodeState(n)”) method 3062 of n-th guess-the-phrase-word object 3060 A.
- getNodeState(n) a get-nth-word-node-state
- game object 1816 calls a get-valid-answers (“getValidAnswers( )”) method 3064 of the n-th guess-the-phrase-word object 3060 A.
- Game object 1816 calls a check-word-attempt (“checkWdAttempt( )”) method 3066 to validate n-th word attempt 3050 B against an array of valid answers 3065 . If the loop executes without breaking, the phrase attempt is valid; otherwise it is invalid.
- checkWdAttempt( ) check-word-attempt
- FIG. 31 shows the sequence for an incorrect attempt to solve the top-level phrase.
- Game object 1816 sends update-score messages 2164 , passing 1850 B and 2164 A.
- 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 2162 A. Game object 1816 also sends message 2354 to control-and-score-GUI object 2310 , passing 2354 A, 2354 B, 1970 A, and 2354 C.
- 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” 3250 A.
- 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 2162 A and phrase answer 3253 .
- Game object 1816 also sends message 2354 to control-and-score-GUI object 2310 , passing 2354 A, 2354 B, 1970 A, and 2354 C.
- 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.
- FIGS. 33 to 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.
- 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” 3310 A.
- 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”) 3310 B, a number of quiz-able-words in an expression (“NumQuizzableWords”) 3310 C, and a number of filler or non-quiz-able-words in an expression (“NumNonQuizzableWords”) 3310 D.
- 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 3311 B, 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 3310 A of expression entity 3310 . This is a foreign key “ExpressionID_Answ” 3311 A 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 412 A 1 of FIGS. 4 and 5 .
- An example of an answer to a canned quiz is the answer to 412 A 1 , shown as 416 A of FIGS. 5 and 230 A 1 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” 3311 C and “TotalWrongAttempts” 3311 D to record history information. Attributes 3311 C and 3311 D 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”) 3314 A and an attribute “CategoryDescription” 3314 B.
- Composite entity “CannedQuiz_SubjectCategory” 3312 contains a composite key comprising foreign-key-primary-key column 3312 A from primary key 3311 A of entity 3311 , and foreign-key-primary-key column 3312 B from primary key 3314 A of entity 3314 .
- Subject category information is stored at the expression-level to assist in building quiz-trees comprising categorized quizzes.
- 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 3410 A from primary key 3310 A of entity 3310 and a word-number-in-expression (“WordNumInExp”) attribute 3410 B.
- Attribute 3410 B records the word position in its expression.
- Entity 3410 contains attribute “IsDictionaryWordYN?” 3410 C. 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.
- Entity 3410 contains attribute “IsQuizzableWordYN?” 3410 D. Attribute 3410 D 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?” 3410 E. Attribute 3410 E 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” 3416 A and a word-text “WordTxt” attribute 3416 B, for dictionary-word text.
- Composite entity “ExpressionWordDictWord” 3412 has a composite primary key 3412 P referencing primary key columns 3410 A, 3410 B, and 3416 A. These are foreign-key-primary-keys 3412 A, 3412 B, and 3412 C 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” 3418 A and word-text (“WordTxt”) attribute 3418 B, that has the text of a non-dictionary word.
- Composite entity “ExpressionWordNonDictWord” 3414 has a composite primary key 3414 P consisting of primary key columns 3410 A, 3410 B, and 3418 A.
- 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 3510 P consisting of a foreign key column 3510 A from primary key 3416 A of dictionary word entity 3416 , and a second foreign key column 3510 B from primary key 3416 A of entity 3416 .
- An example record would contain a “DictionaryWordID” representing the word “appointment” and a “DictionaryWordID 1 ” representing word “ointment”.
- 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 DictionaryWordID 1 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”.
- 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 3518 P.
- Primary key 3518 P consists of foreign key column 3518 A from primary key 3416 A of dictionary word entity 3416 , and a second foreign key column 3518 B from primary key 3416 A 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.
- 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 3610 P is concatenated from complete primary key 3412 P of entity 3412 and complete primary key 3518 P of entity 3518 . Entity 3610 has foreign-key-primary-key columns 3610 A, 3610 B, 3610 C, 3610 D, and 3610 E from primary key columns 3412 A, 3412 B, 3412 C, 3518 A, and 3518 B respectively. There is a record in 3610 for each match of 3412 C in 3412 to 3518 A in 3518 .
- Entity 3612 is a composite entity of entities 3610 and 3412 . Its primary key is composed of foreign-key-primary-key columns 3612 A- 3612 F. These refer to primary key columns 3412 A, 3412 B, 3412 C, 3610 A, 3610 B, and 3610 C respectively. Entity 3612 also has foreign keys 3612 G and 3612 H referring to 3610 D and 3610 E respectively.
- 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 3612 B of the root or derivate word in its expression.
- entity 3610 In the sample iteration, entity 3610 , or an equivalent query or view, is used to lookup “ExpressionID 1 ” 3612 D representing trivia-quiz answer “The Flight of the Phoenix” 230 A 2 from “ExpressionID” 3612 A 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.
- top-level expression 1410 was related to trivia-quiz answer 230 A 1 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.
- top-level expression 1410 was related to trivia-quiz answer 230 B 1 by virtue of another ‘contained-by’ relationship, whereby the word “ointment” is contained by “appointment”.
- Expressions 1410 and 230 B 1 would also be related by a “lookup-expression-having-a-containing-word” entity.
- top-level expression 1410 was related to trivia-quiz answer 230 B 2 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.
- ‘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.
- FIG. 37 shows a Node entity 3710 . It has a node ID (“NodeID”) primary key 3710 A. Entity 3710 includes attribute “IsExpressionYN?” 3710 B which flags whether a node is an expression. Redundant attribute “IsNotAnExpressionYN?” 3710 C flags whether a node is not an expression. Entity 3710 includes a one to zero-or-one self-join 3710 J with parent-node-ID (“ParentNodeID”) 3710 D being a foreign key referring to primary key 3710 A. Also included is a redundant attribute node-level (“NodeLevel”) 3710 E which represents a node-level of a node in its tree. Also included is a tree ID (“TreeID”) foreign key 3710 F.
- NodeLevel parent-node-ID
- Node entity 3710 has a one-to-zero-or-one cardinality 3711 with a non-expression-node (“NonExpressionNode”) entity 3712 .
- Primary key 3710 A serves as a foreign-key-primary-key 3712 A of entity 3712 .
- Attributes of 3712 include flags indicating a type of non-expression-node.
- Node entity 3710 has a one-to-zero-or-one cardinality 3713 with an expression-node (“ExpressionNode”) entity 3714 .
- Primary key 3710 A serves as a foreign-key-primary-key column 3714 A in entity 3714 .
- Another foreign-key-primary-key column, an expression ID (“ExpressionID”) 3714 B column comes from primary key 3310 A of entity 3310 .
- a one-to-zero-or-many cardinality 3715 exists between entities 3310 and 3714 . Together, 3714 A and 3714 B 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 3714 C 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 3714 D 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 3714 E indicates whether an expression-node is a guess-the-phrase-phrase.
- FIG. 38 depicts two different types of non-expression-node entities used in the detailed embodiment.
- Node ID 3712 A of “NonExpressionNode” entity 3712 is a foreign-key-primary-key column 3810 A of a canned-quiz-question-node (“CannedQuizQuestionNode”) entity 3810 .
- Column 3810 A is part of the primary key of entity 3810 .
- Foreign-key-primary-key column 3810 B from primary key 3311 A from entity 3311 is the other column 3810 B of the primary key of entity 3810 .
- entity 3810 Also included in entity 3810 are flag attributes; has-multiple-choice-answer-yes-or-no (“HasMCAnswerYN?”) 3810 C and has-text-input-answer-yes-or-no (“HasTextInputAnswerYN?”) 3810 D.
- Node ID 3712 A of “NonExpressionNode” entity 3712 is a foreign-key-primary-key column 3812 A of a guess-the-phrase-word-node (“GuessThePhraseWordNode”) entity 3812 .
- Foreign-key-primary-key columns 3812 B and 3812 C from primary key columns 3410 A and 3410 B of entity 3410 are the other primary key columns of entity 3812 .
- FIG. 39 shows more detail for entities 3810 and 3812 .
- “CannedQuizQuestionNode” entity 3810 has ExpressionID_Answ foreign-key-primary-key column 3810 B from primary key 3311 A from “CannedQuiz” entity 3311 .
- “GuessThePhraseWordNode” entity 3812 has primary key columns 3410 A and 3410 B of “ExpressionWord” entity 3410 as foreign-key-primary-key columns 3812 B and 3812 C.
- “ExpressionID” primary key column 3410 A is “ParentExpressionID” primary key column 3812 B in GuessThePhraseWordNode entity 3812 .
- “WordNumInExp” primary key column 3410 B in entity 3410 is “WordNumInParentExp” primary key column 3812 C in entity 3812 .
- FIG. 40 introduces a tree (“Tree”) entity 4010 .
- Tree entity 4010 has a tree ID (“TreeID”) primary key 4010 A. All nodes belonging to a single quiz-tree can be identified by their tree ID on the basis of a foreign key 3710 F.
- 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 3710 A combined with foreign key 3710 D 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.
- Tree entity 4010 is-template-yes-or-no “IsTemplateYN?” attribute 4010 B, and an average-player-rating “AveragePlayerRating” attribute 4010 C.
- Attribute 4010 B 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 4010 C 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 4010 D from a player entity records the player who created a tree, if applicable, presuming functionality for player creation of trees.
- FIG. 41 introduces a player (“Player”) entity 4110 . It has a player ID (“PlayerID”) primary key 4110 A, and attributes; first name (“FName”) 4110 B and last name (“LName”) 4110 C.
- PlayerID player ID
- FName first name
- LName last name
- primary key “PlayerID” 4110 A is a foreign key “TreeCreatedByPlayerID” 4010 D in tree entity 4010 .
- Composite tree-player (“Tree_Player”) entity 4112 has foreign-key-primary-key columns 4112 A and 4112 B referencing primary keys 4010 A and 4110 A respectively.
- Entity 4112 includes a player-rating-of-tree (“PlayerRatingOfTree”) attribute 4112 C that records player ratings of trees. Individual player ratings are used to derive “AveragePlayerRating” 4010 C of tree entity 4010 .
- FIG. 42 introduces a tree-formulator (“:TreeFormulator”) object 4210 that organizes quiz data into quiz-trees.
- 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 .
- DML Data Manipulation Language
- a unique tree ID (“TreeID”) primary key 4010 A value is generated from a database sequence. Entity 4010 next returns tree ID (“TreeID”) 4254 to object 4210 .
- DML Data Manipulation Language
- Tree-formulator object 4210 next sends a select-expression (“selectExpression( . . . )”) message 4256 to expression entity 3310 .
- a parameter 4256 A is included with message 4256 to select where “IsSuitableForGuessThePhraseYN?” attribute 3310 G 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”) 4258 A, and number of words (“NumWords”) 4258 B from columns 3310 A and 3310 B respectively of 3310 .
- Tree-formulator object 4210 next sends an insert-node (“insertNode( . . . )”) message 4260 to node entity 3710 .
- a parameter 4260 A is sent to set column 3710 B, “IsExpressionYN?” to “Y” for “yes”.
- Other parameters 4260 B are sent, namely to set “IsNotAnExpressionYN?” to “N” for “no”.
- a parameter 4260 C is included to set column 3710 D to NULL, indicating that there is no parent node. This is an appropriate value only for a top-level node.
- a parameter 4260 D is included to set column 3710 E to “1”. Also passed is Tree ID 4254 which goes in column 3710 F.
- the DML inserts a record in entity 3710 .
- a node ID (“NodeID”) is generated in column 3710 A 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 4258 A which go in columns 3714 A and 3714 B respectively.
- Other parameters 4264 A set columns 3714 C and 3714 D both to “N” for “no”.
- Parameter 4264 B sets column “IsGuessThePhrasePhraseYN?” 3714 E to “Y”.
- 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.
- setLevellParentNodeID( . . . ) set-level-one-parent-node-ID
- 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” 4258 B 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 4258 A and a parameter 4350 A representing the loop counter. These are used to find a record for the current expression and word number by filtering on columns 3410 A and 3410 B respectively.
- Entity 3410 returns corresponding column values 4252 for the selected record. “IsQuizzableWordYN?” 3410 D, which is either “Y” for “yes” or “N” for “no” is returned as a value 4352 A. Values 4352 B of columns 3410 C and 3410 E are also returned.
- Tree-formulator object 4210 next sends an insert-node (“insertNode( . . . )”) message 4354 to node entity 3710 .
- a parameter 4354 A is sent to set column 3710 C, “IsNotAnExpressionYN?” to “Y” for “yes”.
- Other parameters 4354 B are sent, namely to set “IsExpressionYN?” to “N” for “no”.
- a parent-node-ID (“parentNodeID”) parameter 4354 C is included to set column 3710 D to the node ID of the parent, top-level node.
- a parameter 4354 D is included to set column 3710 E to “2”. Also passed is Tree ID 4254 which goes in column 3710 F.
- 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 3712 A and parameter 4358 A to set “IsGuessThePhraseWordYN?” column 3712 C to “Y”.
- Other parameters 4358 B set columns 3712 B, and 3712 D- 3712 G 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 3812 A and a parameter 4360 A to set column “ParentExpressionID” 3812 B to the current expression ID of the top-level expression.
- Message 4360 also passes a parameter 4360 B to set 3812 C to the counter value “n” representing the word number in the expression.
- the tree-formulator sequence continues with FIG. 44 .
- One of two sequences occurs as represented by an “alt combined fragment” 4450 .
- 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” 4258 B, resumes outer loop 4348 show in FIG. 43 .
- 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.
- 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 4258 A and 4350 A. Parameter 4258 A is used to restrict column 3612 A and parameter 4350 A is used to restrict column 3612 B. Entity 3612 from FIG.
- Loop “m” would be repeated, replacing the lookup entity in each repetition of the loop (not shown).
- 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 (“ExpressionID 1 ”) 4464 from column 3612 D per iteration of inner loop “m”.
- ExpressionID 1 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 4466 A to select “ExpressionID_Answ” column 3311 A from entity 3311 where column 3311 A 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”.
- 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 4552 A sets column 3710 B “IsExpressionYN?” to “Y”.
- Parameter 4552 B is sent to set “IsNotAnExpressionYN?” column 3710 C to “N” for “no”.
- a parent-node-ID (“parentNodeID”) parameter 4552 C is included to set column 3710 D to the node ID of the parent, quiz-able-word node.
- a parameter 4552 D is included to set column 3710 E to “3”. Also passed is Tree ID 4254 which goes in column 3710 F.
- 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 3714 A.
- Message 4556 passes parameter 4556 A to set “ExpressionID” column 3714 B to 4468 .
- Other parameters 4556 B set columns 3714 C and 3714 E to “N”.
- Parameter 4556 C sets column “IsCannedQuizAnswerYN?” 3714 D 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.
- setLevel3 ParentNodeID( . . . ) sets a “ParentNodeID” parameter to the node ID of the quiz answer expression.
- object 4210 sends an insert-node message 4560 to insert a node into entity 3710 .
- a parameter 4560 A is sent to set column 3710 C, “IsNotAnExpressionYN?” to “Y” for “yes”.
- a parameter 4560 B is sent to set “IsExpressionYN?” 3710 B to “N” for “no”.
- a parent-node-ID (“parentNodeID”) parameter 4560 C is included to set column 3710 D to the node ID of the parent, quiz-answer node.
- a parameter 4560 D is included to set column 3710 E to “4”. Also passed is Tree ID 4254 which goes in column 3710 F.
- 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 3712 A. Also passed is parameter 4564 A to set “IsCannedQuizQuestionYN?” column 3712 B to “Y”. Other parameters 4564 B set columns 3712 C- 3712 G 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 3810 A. It also passes a parameter 4468 to set column 3810 B.
- Message 4566 also passes parameter 4566 A to set 3810 C to “N”, and parameter 4566 B to set column 3810 D to “Y”.
- 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.
- 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 3714 A.
- Entity 3714 returns an expression-id (“ExpressionID”) 4656 value from 3714 B.
- Object 3012 next sends a select-number-of-words (“selectNumWords( . . . )”) message 4658 to expression entity 3310 , passing 4656 which restricts column 3310 A. 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 3710 D to 4652 .
- Column 3710 A 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.
- 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 3812 A.
- Entity 3812 returns values 4756 , a parent-expression-id (“ParentExpressionID”) 4758 from column 3812 B, and a word-number-in-parent-expression (“WordNumInParentExp”) 4760 from column 3812 C.
- ParentExpressionID a parent-expression-id
- WordNumInParentExp a word-number-in-parent-expression
- Object 1818 next sends a select-expression-word-information (“selectExpressionWordInfo( . . . )”) message 4762 to expression-word entity 3410 .
- Message 4762 passes a parameter 4762 A which restricts column 3410 A with 4758 .
- Message 4762 also passes a parameter 4762 B which restricts column 3410 B with 4760 .
- Entity 3410 returns values 4764 .
- Entity 3410 also returns “IsQuizzableWordYN?” 4770 from 3410 D and “IsCapitalizedYN?” 4772 from 3410 E. All words are stored as dictionary words in the present embodiment, so there is no need to return 3410 C.
- Object 1818 next sends a select-dictionary-word (“selectDictionaryWord( . . . )”) message 4774 to entity 3412 .
- Parameter 4766 restricts column 3412 A and parameter 4768 restricts column 3412 B.
- a value for dictionary-word-id (“DictionaryWordID”) 4776 is returned.
- object 1818 sends a select-word-text (“selectWordTxt( . . . )”) message 4778 to dictionary-word entity 3416 , passing 4776 which restricts column 3416 A.
- a value for word-text (“WordTxt”) 4780 is returned from column 3416 B.
- 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.
- 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.
- 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 3710 A, and parent-node-id (“ParentNodeID”) 4852 is returned from column 3710 D.
- selectParentNode( . . . ) select-parent-node
- 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 3710 D to node ID 4752 of the quiz-able word.
- a node id 4862 for a trivia-quiz-answer-node is returned from column 3710 A.
- a select-expression (“selectExpression( . . . )”) message 4864 is sent to expression-node entity 3714 , passing 4862 .
- Parameter 4862 restricts column 3714 A, and column 3714 B is returned as an expression-id (“ExpressionID”) 4866 value.
- 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 3312 A with 4866 .
- Column 3312 B is returned as a category-code (“CategoryCode”) 4872 value.
- setTQANd( . . . ) a set-trivia-quiz-answer-node
- Method 4874 inserts trivia-quiz-answer node-id 4862 , and category-code 4872 into the trivia-quiz-answer-node array.
- 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 3714 A.
- Entity 3714 returns an expression-id (“ExpressionID”) 4956 value from 3714 B.
- Object 1910 next sends a select-number-of-words (“selectNumWords( . . . )”) message 4958 to expression entity 3310 , passing 4956 which restricts column 3310 A. Entity 3310 returns a number-of-words (“NumWords”) 4960 from 3310 B. 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 3412 A.
- parameter 4966 A which restricts column 3412 B to the counter representing the word number.
- a dictionary-word-id (“DictionaryWordID”) 4968 value is returned from column 3412 C.
- Object 1910 next sends a select-word-text (“selectWordTxt( . . . )”) message 4970 to dictionary-word entity 3416 .
- Message 4970 passes 4968 , which restricts column 3416 A.
- Column 3416 B 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 3410 A.
- Message 4974 also passes a parameter 4974 A for the counter value, which restricts column 3410 B.
- Column 3410 E 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.
- 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 .
- 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 5058 A restricts column 3710 A with node id 4952 .
- Column 3710 D 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 5064 A that restrict column 3710 D with 4952 .
- Column 3710 A 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.
- 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 3810 A.
- Entity 3810 returns an “ExpressionID_Answ” 5156 value from 3810 B.
- Object 1912 next sends a select-question-text (“selectQuestionTxt( . . . )”) message 5158 to canned-quiz entity 3311 , passing 5156 which restricts column 3311 A. Entity 3311 returns a question text (“QuestionTxt”) 5160 from column 3311 B. 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 5164 A restricts column 3710 A by 5152 .
- Column 3710 D 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.
- FIG. 52 introduces a round (“Round”) entity 5210 and a match (“AMatch”) entity 5214 .
- Match entity 5214 contains a “MatchID” primary key 5214 A. It contains attributes to record match statistics. “TotalPointsAvailable” 5214 B is the maximum points available for distribution in a match. “TotalPointsAwarded” 5214 C is the points awarded in a match. “PlayerlDMatchAdmin” foreign key 5214 D refers to the “PlayerID” primary key 4110 A of player entity 4110 . It records the player who is the match administrator, if applicable. Flag attributes “IsStartedYN?” 5214 E, “IsSuspendedYN?” 5214 F, “IsCompletedYN?” 5214 G record information about the state of a match.
- An “AMatch_Player” composite entity 5216 has a primary key 5216 P composed of a “MatchID” foreign-key-primary-key column 5216 A from 5214 A and a “PlayerID” foreign-key-primary-key column 5216 B from 4110 A.
- Entity 5216 includes attributes “Score” 5216 C, which is the cumulative match score for each player, and “ControlOrder” 5216 D, 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 5210 B referencing primary key 5214 A of match entity 5214 , and a round number “RoundNum” column 5210 C which is the round number within a match.
- a “TreeID” foreign key 5210 A refers to primary key 4010 A of tree entity 4010 .
- a “PlayerIDToStartRound” foreign key 5210 H refers to primary key 4110 A of player entity 4110 and records which player started the round in control.
- Attribute “TotalPointsAwarded” 5210 D summarizes the cumulative points awarded per round.
- Attribute “MaxAvailPoints” 5210 E records the maximum available points available for distribution in a round.
- Attributes “StartDate” 5210 F and “EndDate” 5210 G record when a round was started and ended.
- Flag attributes “IsStartedYN?” 52101 , “IsSuspendedYN?” 5210 J, and “IsCompletedYN?” 5210 K record information about the state of a round.
- a “Round_Player” composite entity 5212 has a primary key 5212 P with foreign-key-primary-key columns “MatchID” 5212 A, “RoundNum” 5212 B, and “PlayerID” 5212 C referencing the primary keys of round entity 5210 and player entity 4110 .
- a “Score” attribute 5212 D records the cumulative score per player per round.
- 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).
- game object 1816 calls an initialize-control-sequence (“initControlSeq( . . . )”) method 5358 , passing 5352 .
- 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 4110 A 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 5214 A, which is returned as 5378 .
- Other methods 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 .
- FIG. 54 shows the first part of a round initialization sequence.
- 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 5210 A, 5210 B, and 5210 C respectively of entity 5210 .
- 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 3710 F, and a parameter 5468 that restricts column 3710 E to “1”.
- This call returns node ID (“NodeID”) 5470 from column 3710 A of entity 3710 .
- Game object 1816 next sends initialize-guess-the-phrase-phrase-node (“initGTPPNd( . . . )”) message 4650 to object 3012 , passing 5470 .
- game object 1816 sends a get-number-of-words (“getNumWordso”) message 5472 to 3012 .
- getNumWordso 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.
- 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.
- WordTxt word text
- IsQuizzableWdYN?” is-quiz-able-word-yes-or-no
- nodeState node state
- 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.
- 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.
- 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 .
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 244 A 1 with attached hyperlink, a solve word button 242 A, a label indicating a word-clue section 248 , and a quiz-able-word-clue cell 250 . Presuming that 244 A 1 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 244 A 1 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 362 A, a movies-quiz-category-menu option 362 B, a music-quiz-category-menu option 362 C, and a sports-quiz-category-menu option 362 D.
- 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 417 A through 417 D.
- a quiz-heading 410 B corresponds to the selected question.
- a quiz question 412 B 1 displays the question.
- Multiple choice option 417 C 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 244 A 5 is displayed in quiz-able-word-clue cell 250 . Since quiz-able-word 244 A 5 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 230 G 1 in first quiz-able-word-clue cell 230 A.
- FIG. 62 shows a concealed-picture puzzle in progress.
- the concealed-picture puzzle has a heading-for-concealed-picture puzzle 410 C. It has a concealed-picture puzzle 412 C 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 412 C.
- 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 414 B labels answer textbox 416 .
- a text-answer attempt 416 C is shown.
- Other features have the same purpose as in the trivia-quiz component.
- FIG. 63 depicts the phrase component in navigation mode with the embedded quiz.
- the embedded quiz has unrevealed quiz-able word 244 A 1 with attached hyperlink. It also has associated anagram clue in its quiz-able-word-clue cell 250 .
- FIG. 64 shows embedded quiz 240 in a quiz-able-word-guessing mode.
- a quiz-able-word response 244 A 4 is in the process of being entered by a player.
- Submit-guess button 242 B, clear-guess button 242 C, and pass button 242 D 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 412 A 1 of FIG. 59 .
- 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.
- 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 264 A 1 with attached hyperlink. It has its own solve word button 262 A, a label 266 indicating a word-clue section, and a quiz-able-word-clue cell 268 .
- FIG. 67 depicts the quiz-and-word-guessing-selector component as in might appear for quiz-able-word 264 A 1 in the embedded-embedded drill down quiz. Additional menu items are displayed to support additional features and quiz types.
- 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 392 A, movies-quiz-category-menu option 392 B, a music-quiz-category menu option 392 C, and a sports-quiz-category-menu option 392 D.
- 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 264 A 1 .
- These clues presume a design variant where the relationship of the clues 270 , 272 and 274 to quiz-able-word 264 A 1 (“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 264 A 5 has been solved. Its solution has become a clue to one-higher embedded quiz-able-word 244 A 1 .
- FIG. 70 depicts a hypothetical logical structure of the solution path that was partially exposited by FIGS. 66 through 69 .
- node-levels one through four ( 110 , 112 , 114 , 116 ) are shown node-levels 5 118 and six 120 .
- the diagram omits node-level 2 112 words except 220 A.
- quiz questions 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 220 A 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 394 A, a movies-quiz-category-menu option 394 B, a music-quiz-category-menu option 394 C, and a sports-quiz-category-menu option 394 D. Assuming selection of 394 B 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 .
- the drill-down quiz is a two-word expression.
- Phrase section 212 contains unrevealed first and second quiz-able-words 220 C 1 and 220 D 1 , 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 222 B indicating a word-clue section.
- Word-clue section 214 contains first and second quiz-able-word-clue cells 230 C and 230 D.
- 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 220 C 1 and 220 D 1 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 220 E 1 and 220 F 1 , with attached hyperlinks. Also shown are unrevealed first and second filler-words 218 D 1 and 218 E 1 , with attached hyperlinks. Also shown are first and second quiz-able-word-clue cells 230 E and 230 F.
- 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 398 A, a sound-clip menu 398 B, a video-clip menu 398 C, and a text-clue menu 398 D. Presuming selection of video-clip menu 398 C 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 220 A (“fly”) shown beneath it. It is presumed that only first quiz-able-word 220 A 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 230 A 1 “Marty McFly” has first quiz-able-word 220 C “Marty” and second quiz-able-word 220 D “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 .
- a text bubble 760 A displays. Text bubble 760 A 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 760 B.
- the displayed clue is a sports figure with a name (“Billy Martin”) that bears a similarity to the first quiz-able-word 220 C “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 760 C.
- 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 220 D, displaying text bubble 760 D. Because clue 220 D is unrevealed in this hypothetical example, only a mask (hiding the word “McFly”) is show in text bubble 760 D.
- 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 230 A 1 , displaying text bubble 760 E. Because clue 230 A 1 is unrevealed, only a mask (hiding the phrase “Marty McFly”) is shown in text bubble 760 E.
- 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 760 E and the mouse button is clicked. This action makes text bubble 760 E visible when the hand-pointer cursor 95 is not on top of clue 230 A 1 , as shown in FIG. 85 (clue 230 A 1 is behind text bubble 760 E).
- 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 220 C joins to the first masked word 761 of text bubble 760 E to indicate that 220 C belongs to the first word of 760 E.
- the line from second quiz-able-word 220 D joins to the second masked word 762 of text bubble 760 E. Since phrase clue 740 belongs to the entire phrase masked in text bubble 760 E, 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.
- 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 220 A, displaying a mask (hiding the word “fly”) in text bubble 760 F, while text bubble 760 E 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 760 G.
- Text bubble 760 G is cut off by the border of the quiz navigator. Text bubble 760 E remains visible.
- Unrevealed clue 220 A is temporarily covered up; although the quiz navigator could be designed to display it with a faint outline overlain by text bubble 760 G, or by repositioning 760 G.
- 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.
- 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 220 A and below are shown in their respective text bubbles. Also shown is text bubble 760 G for sample top-level phrase 1410 .
- FIG. 89 includes text bubble 760 H for first quiz-able-word 220 C, 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 .
- folder icons and names 772 , 774 and 776 for first, second and third filler-words 218 A, 218 B and 218 C respectively.
- folder icons and names 780 and 790 for first and second quiz-able-words 220 A and 220 B 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 780 A for first quiz-able-word 220 A.
- One folder level below is the folder icon and name 782 for first quiz-able-word's first clue 230 A 1 .
- 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 782 A for first quiz-able-word's first clue 230 A 1 .
- 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 220 C, and a folder icon and name 788 for second quiz-able-word 220 D.
- FIG. 94 shows an open folder icon and name 786 A for first quiz-able-word 220 C.
- One folder level below is a folder icon and name 787 for clue to first quiz-able-word 750 .
- Open folder icon and name 788 A for second quiz-able-word 220 D 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).
- 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).
- a QNQ may:
- a QNQ is supported by a system that can be used to manage:
- a QNQ system can also include functionality to:
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
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.
Description
- This nonprovisional application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/960,532, filed Oct. 3, 2007.
- Not Applicable
- Not Applicable
- 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.
- 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.
- 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.
-
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”. InFIG. 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 inFIG. 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 inFIG. 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 inFIGS. 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 byFIGS. 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 fromFIG. 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 inFIG. 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 andFIG. 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 inFIG. 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. -
-
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 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 3714primary 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 from3712A 3810B foreign-key-primary- key 3810C has-multiple-choice-answer- column in entity 3810 fromyes-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 fromprimary key 3712A of entity 3712 3812B foreign-key-primary-key 3812C foreign-key-primary-key column in entity 3812 fromcolumn in entity 3812 fromprimary key column 3410A ofprimary key column 3410B ofentity 3410entity 34103813 one-to-zero-or- one cardinality 4010 tree (“Tree”) entity between entities 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 40104112B foreign-key-primary-key 4112C player-rating-of-tree column referencing primary (“PlayerRatingOfTree”) key 4110A of entity 4110attribute 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 3310A4258B number of words 4260 insert-node (“insertNode( . . . ) ”) (“NumWords”) value from message column 3310B 4260A parameter to set column 3710B4260B Other parameters sent with to “Y” message 42604260C parameter to set column 3710D4260D parameter to set column 3710Eto NULL to “1”. 4262 node ID (“NodeID”) 4264 insert-expression-node (“insertExpressionNode( . . . ) ”) message 4264A parameters of message 4264 to4264B Parameter to set column” set columns 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 3710C4354B other parameters sent with to “Y” message 43544354C parent-node- ID 4354D parameter to set column 3710E(“parentNodeID”) parameter to to “2” set column 3710D to the nodeID of the parent, top- level node 4356 node ID (“NodeID”) return 4358 insert-non-expression-node value (“insertNonExpressionNode ( . . . ) ”) message 4358A parameter to set column 3712C4358B Other parameters of message to “Y” 4358 to set columns and 3712D-3712G to “N” 4360 insert-guess-the-phrase-word- 4360A parameter to set column 3812Bnode 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 wherecolumn 3311A is equal to 44644470 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 3714Bmessage 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 - 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 anassociation 141 between a revealed,lower node 142, acting as a clue, with another node, acting as an answer, is a thick connecting line. Revealednodes 142 are generally revealed by supplying a correct answer, except at the bottom-most level of a branch. Revealednodes 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 anassociation 145 of a lowerunrevealed 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.
- 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.
- 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 ofFIG. 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 ofFIG. 14 is used. When referring to components in their user-interface sense, the numbering ofFIGS. 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 ofFIG. 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 - 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 aquiz 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 ofFIG. 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 submitbutton 420 submits a guess inanswer textbox 416 to the system for validation. A clear-answer button 422 clearsanswer 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 submitbutton 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 andbuttons - 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. Analarm clock icon 476 and a number ofseconds 480 adjacent to aplayer 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 aplayer name 474C indicates the next player in the answering privilege order. Athird 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 submitbutton 420 indicates that a player is about to submit an answer attempt. Pressing submitbutton 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 inFIG. 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 inFIG. 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 selectmenu 338. Buy-word menu 338 is selected by a player releasing her mouse button withmenu 338 selected witharrow cursor 99. This action opens a confirmation pop-up dialogue window depicted inFIG. 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 inFIG. 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 ofFIG. 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 ofFIG. 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 afield border 97 around it, and placing aninsertion 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 toFIG. 9 except with clue 230A2 shown inFIG. 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 inFIG. 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 inFIG. 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 thiscase 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 withtext 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. Clickingbutton 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 inFIG. 13 . InFIG. 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.
-
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 withFIG. 1 to describe a QNQ. InFIG. 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 level 2. Filler-word 218B was revealed by buying a word in the sample round, and so is depicted with the symbol for a revealedclue 142. Filler-words level answer 1410. They are therefore depicted with the symbol for anunrevealed 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. -
FIG. 15 depicts the user interface flow without control and answering privilege details. The phrase component in navigation mode 1510 (depicted inFIG. 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 bymenus 314, 332A-332D ofFIG. 3 ). This is used to open the trivia-quiz component 1560 (depicted inFIG. 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 ofFIG. 3 ). This leads to the phrase component in word-guessing mode 1570 (depicted inFIG. 10 ), and back to 1510. From 1510, a player can access the phrase component in phrase-guessing mode 1540 (depicted inFIGS. 11 and 12 ). This can lead to the phrase component in finished mode 1580 (depicted inFIG. 13 ), and the end of around 1590. It can also lead back to 1510. From 1510, a player can access the buy filler-word menu, and confirmation dialogue 1550 (depicted inFIGS. 7 and 8 ). - 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 theInternet 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 aweb server 1652.Web server 1652 communicates withclients 1610 through anInternet 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 anetwork connection 1674 to a database server (or servers) 1656, which manages 1676 a quiz database and associatedschema 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 aweb 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 onserver 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 associatedschema 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 inFIGS. 33-41 andFIG. 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. - 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.
- 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.
- 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 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 inFIG. 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.
- 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 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 byFIGS. 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.
- 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 inFIGS. 18-32 , 46-51, and 53-55. - 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. Anaggregation 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. Anaggregation 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 lines - 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. Anaggregation 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. Anaggregation 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. Anaggregation 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 referencingnode class 1711 with multiplicities of many and one.Aggregation 1753 is shown linking thetree class 1712 withnode class 1711; the actual links are betweentree class 1712 and derivednode classes 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 referencingtree 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. Anaggregation 1773 indicates a match (“Match”)class 1718 referencing roundclass 1715 with multiplicities of one-to-many and one. Anaggregation 1766 indicatesmatch class 1718 referencing a player (“Player”)class 1720 with multiplicities of one-to-many and one. Anaggregation 1778 indicatesround 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 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. Anaggregation 1765 indicatesgame 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 inaggregations -
Aggregation 1774 indicatesgame class 1719 referencingplayer 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 betweengame class 1719 andmatch class 1718 with multiplicities of one and one.Association 1768 indicates an association betweengame class 1719 andround class 1715 with multiplicities of one-to-many and one.Association 1755 indicatesgame class 1719 accessingtree class 1712. - A clock (“Clock”)
class 1709 maintains time for purposes of managing answering privilege and control.Aggregation 1775 indicatesgame class 1719 referencingclock 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 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 inFIG. 3 , a buy-filler-word-menu-GUI (“BuyFillerWdMenuGUI”)class 1727, depicted inFIG. 7 , and a trivia-quiz-GUI (“TriviaQuizGUI”)class 1725, depicted inFIGS. 4 and 5 .Associations game class 1719, andview classes game class 1719 to the respective view class. In each ofassociations - Shown are a navigation-mode-GUI (“NavModeGUI”)
class 1729, first depicted graphically at runtime inFIG. 2 , a word-guessing-mode-GUI (“WdGuessingModeGUI”)class 1728, depicted inFIG. 10 , a phrase-guessing-mode-GUI (“PhrGuessingModeGUI”)class 1730, depicted inFIGS. 11 and 12 , and a finished-mode-GUI (“FinishedModeGUI”)class 1731, depicted inFIG. 13 .Classes 1728 through 1731 are generalized by a phrase-component-GUI (“PhraseComponentGUI”)class 1732.Classes lines -
Associations game class 1719, andview classes game class 1719 to the respective view class. In each ofassociations GUI class 1732 will be displayed at a time. - Controller (“Controller”)
class 1740 represents one or more controllers accessed byview classes 1725 through 1730. The controller class passes messages from the applicable view classes togame class 1719.Association 1779 represents all of the associations betweencontroller class 1740 andclasses 1725 through 1730. In each case there is a multiplicity of one oncontroller class 1740 and zero-to-one onview classes 1725 through 1730.Association 1780 showscontroller class 1740 accessinggame class 1719. - Shown is a turn-GUI (“TurnGUI”)
class 1721, graphically depicted as answering-turn-display component 470 inFIGS. 4 and 5 . Also shown is a control-and-score-GUI (“Cntl&ScoreGUI”)class 1724, graphically depicted inFIG. 95 as a score-and-control component 9530. -
Classes controller class 1740.Associations game class 1719, andview classes associations 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. -
FIG. 18 shows the sequence diagram for displaying the quiz-and-word-guessing-selector component depicted inFIG. 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 inFIG. 2 . Navigation-mode-GUI object 1810 sends amessage 1850 to get the quiz-and-word-guessing-selector component (“getQ_W_GuessSelGUI( . . . )”) to acontroller object 1814.Controller object 1814 is an instance ofcontroller 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. Areference 1850B to the current player (“player”) is also passed. - Next,
controller object 1814 calls a get-trivia-quiz-by-category-total (“getTrivQuizByCatTot( . . . )”)method 1852 ofgame object 1816.Game object 1816 is an instance ofgame class 1719.Game object 1816 calls its validate-control (“validateControl( . . . )”)method 1854 to validate thatplayer 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 ofclass 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 andarray 1862 containing the total number of trivia-quizzes by category.Object 1812 is an instance ofclass 1726. Quiz-and-word-guessing-selector-GUI object 1812 is graphically depicted inFIG. 3 . The steps inFIG. 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. -
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 tocontroller object 1814.Message 1950 includes guess-the-phrase-word node ID 1850A, areference 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 togame 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 thatplayer 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, passingcategory 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 suppliedcategory 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 ofclass 1716.Object 1910 returns areference 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 ofclass 1713. Oncondition 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 ofFIG. 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 ofclass 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 ofFIG. 4 .Message 1968 also passes a trivia-quiz-by-category-index (“trivQuizByCatIndx”)parameter 1968B.Parameter 1968B is the index of the question for the givencategory 1950A.Parameter 1968B enables the interface to represent 410A2 ofFIG. 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 selectedcategory 1950A for the given guess-the-phrase-word.Parameter 1968C is represented as 410A3 inFIG. 4 .Message 1968 also passescategory 1950A. This is represented as 410A1 inFIG. 4 .Game object 1816 also displays answering-turn-display component 470 ofFIG. 4 . In the present embodiment,method 1968 ofFIG. 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, anindex 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. -
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 tocontroller 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 ofFIG. 20 generally deals with a first validation means. -
Controller object 1814 sends a validate-attempt (“validateAttempt( . . . )”)message 2052 togame 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 areference 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. Oncondition 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 ofobject 1910, which returns an array of valid answers (“validAnswers[ ]”) 2061. Each valid answer inarray 2061 is considered a successful match for the corresponding question.Object 1816 next calls its check-attempt (“checkAttempt( . . . )”)method 2062 to checkattempt 2050A against array ofvalid answers 2061. The result is ‘success’ or ‘failure’, which determines the subsequent sequence. -
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 areference 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 around object 2110, which is a current instance ofround class 1715. The score is also updated in amatch object 2112, which is a current instance ofmatch class 1718. Update-score sequence 2140 is covered withFIG. 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 tocurrent 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. -
FIG. 22 shows the update-score sequence diagram.Game object 1816 calls an update-score (“updateScore( . . . )”)method 2250 ofround object 2110, passing a reference to theplayer 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 ofround object 2110 to get an array of player scores for the current round. -
Game object 1816 also calls an update-score (“updateScore( . . . )”)method 2254 ofmatch object 2112, passing 1850B and 2164A. It then calls a get-scores (“getScores( )”)method 2256 ofmatch object 2112 to get an array of player scores for the match. -
FIG. 23 shows part two of the sequence when the attempt for a trivia-quiz is correct, continuing fromFIG. 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. InFIG. 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 ofclass 1724. Score-and-control component 9530 is depicted inFIG. 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 anindex 2354C of 1970A for the player with control (“cntrlIndex”). -
FIG. 24 shows the sequence diagram when a trivia-quiz guess is incorrect.Game object 1816 initiates update-score sequence 2164, passingplayer reference 1850B and points 2164A. The score is updated inround object 2110 andmatch 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 controlindex 2354C value is not equal to answering-privilege index 1970B value. Oncondition 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 controlindex 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 andmatch scores control sequence array 1970A andcontrol index 2354C. -
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 tocontroller object 1814.Message 2550 includes trivia-quiz-question node ID 1962A and areference 1850B to the player.Controller object 1814 sends apass message 2552 to game object withparameters -
Game object 1816 calls its validate-answering-privilege method 2054 to validate thatplayer 1850B has answering privilege. If for anyreason 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 inFIG. 24 . -
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 ofclass 1728 fromFIG. 17 . - Next, a submit-word-guess (“submitWordGuess( . . . )”)
message 2650 is sent from word-guessing-mode-GUI (“WdGuessingModeGUI”)object 2610 tocontroller object 1814. Passed inmessage 2650 are guess-the-phrase-word node ID 1850A, areference 1850B to the player, and a word attempt (“wordAttempt”) 2650A.Message 2650 deals with a second guessing means. The rest ofFIG. 26 generally deals with a second validation means. - Next,
controller object 1814 send a validate-word-attempt (“validateWordAttempt( . . . )”)message 2652 togame object 1816, passing 1850A, 1850B and 2650A.Game object 1816 next calls its validate-answering-privilege method 2054, validating ifplayer 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. Oncondition 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 checkword attempt 2650A against array ofvalid answers 2655. -
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 ofobject 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 areference 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, passingplayer reference 1850B and points 2164A. The score is updated inround object 2110, and inmatch 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 thecurrent 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. InFIG. 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. -
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 inround object 2110 andmatch 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 ofobject 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. -
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 tocontroller object 1814, passing guess-the-phrase-word node ID 1850A andplayer reference 1850B.Controller object 1814 sends a buy-filler-word message 2952 togame 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 formethod 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. Oncondition 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 inround object 2110, andmatch object 2112 as detailed in update-score sequence diagram 2140. -
Game object 1816 sends anupdate message 2352 to navigation-mode-GUI object 1810, passingphrase node ID 2162A,word node ID 1850A, andword answer 2753.Game object 1816 also sends anupdate message 2354 to control-and-score-GUI object 2310, passing round andmatch scores control sequence array 1970A andcontrol index 2354C. -
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 tocontroller 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 togame object 1816, passing 2162A, 1850B, and 3050A.Game object 1816 calls its validate-answering-privilege method 2054 to validate thatplayer 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. Oncondition 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 whilecondition 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 acondition 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 ofvalid answers 3065. If the loop executes without breaking, the phrase attempt is valid; otherwise it is invalid. -
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 inround object 2110, andmatch object 2112 as detailed in update-score sequence 2140 shown inFIG. 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 sendsmessage 2354 to control-and-score-GUI object 2310, passing 2354A, 2354B, 1970A, and 2354C. -
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 inround object 2110, andmatch object 2112 as detailed in update-score sequence 2140 shown inFIG. 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 andphrase answer 3253.Game object 1816 also sendsmessage 2354 to control-and-score-GUI object 2310, passing 2354A, 2354B, 1970A, and 2354C. - 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.
- A discussion of the schema used for quiz-generation is included in the discussion of
FIGS. 33 to 40 . Some of the entities discussed inFIGS. 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. - 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. Aprimary 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 forexpression 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 betweenexpression 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 ofexpression 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 ofFIGS. 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 ofFIG. 6 . The purpose of storing a quiz answer by its words, usingexpression 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 cannedquiz entity 3311 andexpression 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 - 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 ofentity 3311, and foreign-key-primary-key column 3312B from primary key 3314A ofentity 3314. Subject category information is stored at the expression-level to assist in building quiz-trees comprising categorized quizzes. -
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 ofentity 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 indictionary 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 primarykey columns keys 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 primarykey columns -
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 foreignkey column 3510A from primary key 3416A ofdictionary word entity 3416, and a second foreignkey column 3510B from primary key 3416A ofentity 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 foreignkey column 3518A from primary key 3416A ofdictionary word entity 3416, and a second foreignkey column 3518B from primary key 3416A ofentity 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. -
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. Itsprimary key 3610P is concatenated from complete primary key 3412P ofentity 3412 and complete primary key 3518P ofentity 3518.Entity 3610 has foreign-key-primary-key columns key columns - An entity “ExpWdDictWd_ExpWdDictWd_DictWd-DictWd: RootOrDerivativeOfl” 3612 is a composite entity of
entities key columns 3612A-3612F. These refer to primarykey columns Entity 3612 also hasforeign keys - There is a record in
entity 3612 for every match of 3412C in 3412 to 3610E inentity 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 theposition 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 “ExpressionID1” 3612D 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 replacingentity 3518 withentity 3511 fromFIG. 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 replacingentity 3518 withentity 3520 fromFIG. 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. -
FIG. 37 shows aNode 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 toprimary 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 ofentity 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 inentity 3714. Another foreign-key-primary-key column, an expression ID (“ExpressionID”) 3714B column, comes from primary key 3310A ofentity 3310. A one-to-zero-or-many cardinality 3715 exists betweenentities 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 ofentity 3612 ofFIG. 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. -
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 ofentity 3810. Foreign-key-primary-key column 3810B from primary key 3311A fromentity 3311 is theother column 3810B of the primary key ofentity 3810. There is a one-to-zero-or-one cardinality 3811 betweenentities 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 key columns entity 3410 are the other primary key columns ofentity 3812. There is one-to-zero-or-one cardinality 3813 betweenentities -
FIG. 39 shows more detail forentities entity 3810 has ExpressionID_Answ foreign-key-primary-key column 3810B from primary key 3311A from “CannedQuiz”entity 3311. “GuessThePhraseWordNode”entity 3812 has primarykey columns entity 3410 as foreign-key-primary-key columns key column 3410A is “ParentExpressionID” primarykey column 3812B inGuessThePhraseWordNode entity 3812. “WordNumInExp” primarykey column 3410B inentity 3410 is “WordNumInParentExp” primarykey column 3812C inentity 3812. -
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 innode 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 oftree 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. -
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 intree entity 4010. - Composite tree-player (“Tree_Player”)
entity 4112 has foreign-key-primary-key columns primary keys 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 oftree entity 4010. - 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 totree entity 4010. The relational database management system uses Data Manipulation Language (“DML”) to insert a new record inentity 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 toexpression entity 3310. Aparameter 4256A is included withmessage 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 returnsvalues 4258; an expression ID (“ExpressionID”) 4258A, and number of words (“NumWords”) 4258B fromcolumns formulator object 4210 next sends an insert-node (“insertNode( . . . )”)message 4260 tonode entity 3710. Aparameter 4260A is sent to setcolumn 3710B, “IsExpressionYN?” to “Y” for “yes”.Other parameters 4260B are sent, namely to set “IsNotAnExpressionYN?” to “N” for “no”. Aparameter 4260C is included to setcolumn 3710D to NULL, indicating that there is no parent node. This is an appropriate value only for a top-level node. Aparameter 4260D is included to setcolumn 3710E to “1”. Also passed isTree ID 4254 which goes incolumn 3710F. - The DML inserts a record in
entity 3710. A node ID (“NodeID”) is generated incolumn 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 passesnode ID 4262 andexpression ID 4258A which go incolumns columns 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. - The tree-formulator sequence continues with
FIG. 43 . Anouter 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 passesexpression ID 4258A and aparameter 4350A representing the loop counter. These are used to find a record for the current expression and word number by filtering oncolumns -
Entity 3410 returns correspondingcolumn values 4252 for the selected record. “IsQuizzableWordYN?” 3410D, which is either “Y” for “yes” or “N” for “no” is returned as avalue 4352A.Values 4352B ofcolumns - Tree-
formulator object 4210 next sends an insert-node (“insertNode( . . . )”)message 4354 tonode entity 3710. Aparameter 4354A is sent to setcolumn 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 setcolumn 3710D to the node ID of the parent, top-level node. Aparameter 4354D is included to setcolumn 3710E to “2”. Also passed isTree ID 4254 which goes incolumn 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 passesnode ID 4356 to set 3712A andparameter 4358A to set “IsGuessThePhraseWordYN?”column 3712C to “Y”.Other parameters 4358B setcolumns -
Object 4210 next sends an insert-guess-the-phrase-word-node (“insertGuessThePhraseWordNode( . . . )”)message 4360 toentity 3812.Message 4360 passesnode ID 4356 to set 3812A and aparameter 4360A to set column “ParentExpressionID” 3812B to the current expression ID of the top-level expression.Message 4360 also passes aparameter 4360B to set 3812C to the counter value “n” representing the word number in the expression. - The tree-formulator sequence continues with
FIG. 44 . One of two sequences occurs as represented by an “alt combined fragment” 4450. On acondition 4452 that “IsQuizzableWordYN?”value 4352A is set to “N”, a next (“next(n)”) method ornext statement 4454 increases the outer loop counter (“n”) by one and, where “n” is not greater than “NumWords” 4258B, resumesouter loop 4348 show inFIG. 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 withnode 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 combinedfragment 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 frommethod 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 passesparameters Parameter 4258A is used to restrictcolumn 3612A andparameter 4350A is used to restrictcolumn 3612B.Entity 3612 fromFIG. 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 fromcolumn 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 aparameter 4466A to select “ExpressionID_Answ”column 3311A fromentity 3311 wherecolumn 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 ornext statement 4470 starts a new iteration of the inner loop “m”. - Sequence Diagram—
Tree Formulator Part 4—Inner Loop “m”Part 2—FIG. 45 -
FIG. 45 continues the tree-formulator sequence within the inner loop “m”. Acondition 4550 checks that 4468 is not null, that is, that a value was returned in the previous step. Ifcondition 4550 is met, execution continues within the inner loop. - Tree-
formulator object 4210 next sends an insert-node (“insertNode( . . . )”)message 4552 tonode entity 3710. Aparameter 4552 A 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 setcolumn 3710D to the node ID of the parent, quiz-able-word node. Aparameter 4552D is included to setcolumn 3710E to “3”. Also passed isTree ID 4254 which goes incolumn 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 passesnode ID 4554 to setcolumn 3714A.Message 4556 passesparameter 4556A to set “ExpressionID”column 3714B to 4468.Other parameters 4556B setcolumns 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 intoentity 3710. Aparameter 4560A is sent to setcolumn 3710C, “IsNotAnExpressionYN?” to “Y” for “yes”. Aparameter 4560B is sent to set “IsExpressionYN?” 3710B to “N” for “no”. A parent-node-ID (“parentNodeID”)parameter 4560C is included to setcolumn 3710D to the node ID of the parent, quiz-answer node. Aparameter 4560D is included to setcolumn 3710E to “4”. Also passed isTree ID 4254 which goes incolumn 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 passesnode ID 4562 which goes incolumn 3712A. Also passed isparameter 4564A to set “IsCannedQuizQuestionYN?”column 3712B to “Y”.Other parameters 4564B setcolumns 3712C-3712G to “N”. -
Object 4210 next sends an insert-canned-quiz-question-node (“insertCannedQuizQuestionNode( . . . )”)message 4566 toentity 3810.Message 4566 passesnode ID 4562 to setcolumn 3810A. It also passes aparameter 4468 to setcolumn 3810B.Message 4566 also passesparameter 4566A to set 3810C to “N”, andparameter 4566B to setcolumn 3810D to “Y”. -
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.
-
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 toexpression entity 3310, passing 4656 which restrictscolumn 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 ofwords 4660. A select-guess-the-phrase-word-node (“selectGTPWNd( . . . )”)message 4666 is sent tonode entity 3710.Message 4666, passes aparameter 4668 to restrictcolumn 3710D to 4652.Column 3710A is selected and a node-id (“NodeID”) 4670 is returned toobject 3012. An add-guess-the-phrase-word-node (“addGTPWNd( . . . )”)method 4674 insertsnth node ID 4670 into the guess-the-phrase-word-node array. -
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 returnsvalues 4756, a parent-expression-id (“ParentExpressionID”) 4758 fromcolumn 3812B, and a word-number-in-parent-expression (“WordNumInParentExp”) 4760 fromcolumn 3812C. -
Object 1818 next sends a select-expression-word-information (“selectExpressionWordInfo( . . . )”)message 4762 to expression-word entity 3410.Message 4762 passes aparameter 4762A which restrictscolumn 3410A with 4758.Message 4762 also passes aparameter 4762B which restrictscolumn 3410B with 4760.Entity 3410 returnsvalues 4764. These include an expression-id (“ExpressionID”) 4766 fromcolumn 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 toentity 3412.Parameter 4766 restrictscolumn 3412A andparameter 4768 restrictscolumn 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 restrictscolumn 3416A. A value for word-text (“WordTxt”) 4780 is returned fromcolumn 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 acondition 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. -
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 tonode entity 3710, passing 4752.Node id 4752 restrictscolumn 3710A, and parent-node-id (“ParentNodeID”) 4852 is returned fromcolumn 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 tonode entity 3710.Message 4858, passes aparameter 4860 to restrictcolumn 3710D tonode ID 4752 of the quiz-able word. Anode id 4862 for a trivia-quiz-answer-node is returned fromcolumn 3710A. - Next, a select-expression (“selectExpression( . . . )”)
message 4864 is sent to expression-node entity 3714, passing 4862.Parameter 4862 restrictscolumn 3714A, andcolumn 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 aparameter 4870 which restrictscolumn 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. -
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 toexpression entity 3310, passing 4956 which restrictscolumn 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 ofwords 4960. A select-dictionary-word (“selectDictionaryWord( . . . )”)message 4966 is sent to expression-word-dictionary-word entity 3412.Message 4966, passesparameter 4956 to restrictcolumn 3412A. Also passed isparameter 4966A which restrictscolumn 3412B to the counter representing the word number. A dictionary-word-id (“DictionaryWordID”) 4968 value is returned fromcolumn 3412C. -
Object 1910 next sends a select-word-text (“selectWordTxt( . . . )”)message 4970 to dictionary-word entity 3416.Message 4970 passes 4968, which restrictscolumn 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 restrictscolumn 3410A.Message 4974 also passes aparameter 4974A for the counter value, which restrictscolumn 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. -
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 frommethod 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 tonode entity 3710. Aparameter 5058A restrictscolumn 3710A withnode 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 toentity 3710.Message 5064 passes aparameter 5064A that restrictcolumn 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. -
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 restrictscolumn 3311A.Entity 3311 returns a question text (“QuestionTxt”) 5160 fromcolumn 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 tonode entity 3710. Aparameter 5164A restrictscolumn 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. -
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 ofplayer 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 ofmatch 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 oftree entity 4010. A “PlayerIDToStartRound” foreign key 5210H refers to primary key 4110A ofplayer 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 ofround entity 5210 andplayer entity 4110. A “Score”attribute 5212D records the cumulative score per player per round. -
FIG. 53 shows how a match is initialized. A game administrator (“GameAdmin <<actor>>”) 5310 sends an initiate-game (“initGame( . . . )”)message 5350 togame 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 thatarrays - 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 combinedloop 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 toplayer entity 4110 to select relevant columns where 4110A is restricted by 5364. Areference 5368 to the player object is returned to 1816. An add-to-control-sequence (“addToControlSeq( . . . )”)method 5370 addsplayer 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 fromloop 5360.Match object 5314 sends an insert-match (“insertMatch( )”)message 5376 to matchentity 5214. A database sequence generates a “MatchID” in primarykey column 5214A, which is returned as 5378. Other methods (not shown), can insert additional values inentity 5214 as well ascomposite entity 5216, and initialize the match scores of the players. Areference 5380 to the match object is returned togame object 1816. -
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) ofmatch object 5314. It also passesround index 5452. -
Round object 5410 sends an insert-round (“insertRound( . . . )”)message 5458 toround 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 columns entity 5210. Once a round is initialized, around 5464 reference is returned togame object 1816. -
Game object 1816 next sends a select-top-node (“selectTopNode( . . . )”)message 5466 tonode entity 5210.Message 5466 passes 5460, which restrictscolumn 3710F, and aparameter 5468 that restrictscolumn 3710E to “1”. This call returns node ID (“NodeID”) 5470 fromcolumn 3710A ofentity 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. - The initialize round sequence continues with
FIG. 55 . A loop, indicated by a combinedloop 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 areference 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 returnsvalues 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 asarguments 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 fromloop 5550.Parameters FIG. 2 .Parameters - 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. - 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.
-
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 ofsubmenus 320 contains atrivia submenu 322 and a drill-downclue submenu 324. Presuming that drill-downclue 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. Embeddedquiz 240 has an unrevealed quiz-able-word 244A1 with attached hyperlink, a solveword 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 aflyout menu 350.Flyout menu 350 has a trivia-quiz menu 352, a concealed-picture menu 354, ananagram 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 witharrow 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 multiplechoice options section 417 withoptions 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 submitbutton 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 toFIG. 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 withlabel 432 is used to select a puzzle piece for removal from concealed-picture puzzle 412C. A submitbutton 434 verifies removal of a puzzle piece. Apass 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 answertextbox 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 thatanagram 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 embeddedquiz 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 passbutton 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. Oneclue 252 has been found for the higher-level quiz-able-word, and there are three clues to the embedded quiz. The first is ananagram clue 254, The second is aquiz question 256 corresponding to 412A1 ofFIG. 59 . In this design,quiz question 256 maintains a hyperlink to the trivia-quiz portrayed inFIG. 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 inFIG. 62 . InFIG. 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 embeddedquiz 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 solveword button 262A, alabel 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 aflyout 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 theclues - 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 byFIGS. 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 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 ofFIG. 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-downclues 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 witharrow 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 inFIG. 73 . InFIG. 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 alabel 222B indicating a word-clue section. Word-clue section 214 contains first and second quiz-able-word-clue cells 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 ofhyperlink 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 witharrow 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 inFIGS. 72 and 73 . Embedded-embedded drill downquiz 290 is expanded inFIG. 76 . -
FIG. 76 expands embedded-embedded drill downquiz 290 ofFIG. 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 section 283 shows a slightly modified arrangement from phrase-clue section 282 ofFIG. 73 . A hyperlink to phrase clue(s) 285 and a phrase clue-clue cell 287 are shown. Presuming selection ofhyperlink 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 hasmenus 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 witharrow 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 inFIG. 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 inFIG. 76 , except in a phrase-guessing mode. A successful answer would result in the disappearance of the embedded-embedded drill down quiz represented inFIG. 76 (after a few seconds), and its solved phrase would be displayed in phrase clue-clue cell 286 ofFIG. 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 ofFIG. 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 inFIG. 1 . - The quiz navigator includes a
title bar 710, amenu bar 720, and anavigation 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 - 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 hasphrase 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, overclue 740. Then, atext bubble 760A displays.Text bubble 760A displays the content ofclue 740 in the quiz navigator.Clues -
FIG. 80 shows the quiz navigator with the same quiz-tree in the same state asFIG. 79 , but with hand-pointer cursor 95 overclue 750, displayingtext 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” ofclue 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 inFIGS. 79 and 80 , but with hand-pointer cursor 95 overclue 752, displayingtext bubble 760C. The match of “McFly” to the second word “McCartney” ofclue 752 follows the same description as for the match of quiz “Marty” to clue “Billy Martin” shown inFIG. 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 inFIGS. 79-81 , but with hand-pointer cursor 95 overunrevealed clue 220D, displayingtext bubble 760D. Becauseclue 220D is unrevealed in this hypothetical example, only a mask (hiding the word “McFly”) is show intext bubble 760D. -
FIG. 83 shows the quiz navigator with the same quiz-tree in the same state as inFIGS. 79-82 , but with hand-pointer cursor 95, over unrevealed clue 230A1, displayingtext bubble 760E. Because clue 230A1 is unrevealed, only a mask (hiding the phrase “Marty McFly”) is shown intext bubble 760E. -
FIG. 84 shows the quiz navigator with the same quiz-tree in the same state as inFIGS. 79-83 .FIG. 84 continues the previous hypothetical sequence. Hand-pointer cursor 95 is placed overtext bubble 760E and the mouse button is clicked. This action makestext bubble 760E visible when the hand-pointer cursor 95 is not on top of clue 230A1, as shown inFIG. 85 (clue 230A1 is behindtext bubble 760E). - In
FIG. 85 , the convention ofFIG. 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 firstmasked word 761 oftext 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 secondmasked word 762 oftext bubble 760E. Sincephrase clue 740 belongs to the entire phrase masked intext 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 aquiz 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 inFIG. 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 asFIGS. 79-85 . Hand-pointer cursor 95 is overunrevealed clue 220A, displaying a mask (hiding the word “fly”) intext bubble 760F, whiletext bubble 760E remains visible. -
FIG. 87 shows the quiz navigator with the same quiz-tree in the same state asFIGS. 79-86 . Hand-pointer cursor 95 is over sample top-level phrase 1410, displaying a mask (hiding the phrase “A fly in the ointment”) intext 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 bytext bubble 760G, or by repositioning 760G. -
FIG. 88 shows an expanded view ofmenu bar 720 of the quiz navigator. Shown are view (“View”) and option (“Option”)menus option menu 722 are menu items “Show Selected Clues . . . ” 725 and “Show All Clues . . . ” 726. The discussion ofFIGS. 83 and 84 presumes thatmenu item 725 had been selected. Whenmenu item 726 is selected witharrow 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 istext bubble 760G for sample top-level phrase 1410.FIG. 89 includestext bubble 760H for first quiz-able-word 220C, which shows the mask for the word “Marty”. -
FIG. 90 shows an expanded view ofmenu bar 720 of the quiz navigator. Underview menu 722 are “Branch View . . . ” and “Folder View . . . ”menu items FIGS. 79-89 presume thatmenu item 727 had been selected. Clicking onmenu item 728 witharrow cursor 99 changes the quiz navigator from “branch mode” to “folder mode”. Folder mode of the quiz navigator is depicted inFIGS. 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 asFIGS. 79-89 but in folder mode.FIG. 91 shows at the top-level a folder icon andname 770 for sample top-level phrase 1410. One level beneath 770 are folder icons andnames words names words sign 791 indicates that a folder can be expanded to reveal additional quiz information. Clicking a mouse button witharrow cursor 99 over the 791 of 780 expands the folder as shown inFIG. 92 . -
FIG. 92 shows an open folder icon andname 780A for first quiz-able-word 220A. One folder level below is the folder icon andname 782 for first quiz-able-word's first clue 230A1. Clicking a mouse button witharrow cursor 99 over 791 of 782 expands the folder as shown inFIG. 93 . -
FIG. 93 shows an open folder icon andname 782A for first quiz-able-word's first clue 230A1. One folder-level below is a folder icon andname 784 forphrase clue 740, a folder icon andname 786 for first quiz-able-word 220C, and a folder icon andname 788 for second quiz-able-word 220D. -
FIG. 94 shows an open folder icon andname 786A for first quiz-able-word 220C. One folder level below is a folder icon andname 787 for clue to first quiz-able-word 750. Open folder icon andname 788A for second quiz-able-word 220D has below it folder icon andname 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 atitle bar 9510, the quiz navigator component 9540 (shown ifFIG. 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 quiznavigator component button 9566, shown as grayed to indicate it has been selected, displaysquiz 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). Aphrase 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). - 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.
- 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 (22)
1. A quiz game played by one or by one or more players, comprising:
(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),
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.
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:
(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,
whereby at least three node levels are related to provide at least two linked quiz levels.
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:
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,
whereby said player(s) may use said selector means attached to said indication of said first node to expose said third 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:
(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,
whereby said quiz game includes two related quizzes comprising two quiz levels.
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.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/285,212 US20090091087A1 (en) | 2007-10-03 | 2008-09-30 | Quiz-nested quiz game and system therefore |
US13/426,591 US10058784B2 (en) | 2007-10-03 | 2012-03-21 | Game systems with interoperating or both interoperating and interrelated quizzes and/or puzzles |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US96053207P | 2007-10-03 | 2007-10-03 | |
US12/285,212 US20090091087A1 (en) | 2007-10-03 | 2008-09-30 | Quiz-nested quiz game and system therefore |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/426,591 Continuation-In-Part US10058784B2 (en) | 2007-10-03 | 2012-03-21 | Game systems with interoperating or both interoperating and interrelated quizzes and/or puzzles |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090091087A1 true US20090091087A1 (en) | 2009-04-09 |
Family
ID=40522600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/285,212 Abandoned US20090091087A1 (en) | 2007-10-03 | 2008-09-30 | Quiz-nested quiz game and system therefore |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090091087A1 (en) |
AU (1) | AU2008307105A1 (en) |
CA (1) | CA2701658A1 (en) |
WO (1) | WO2009043153A1 (en) |
Cited By (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090319896A1 (en) * | 2008-06-03 | 2009-12-24 | The Directv Group, Inc. | Visual indicators associated with a media presentation system |
US20090325693A1 (en) * | 2007-01-30 | 2009-12-31 | Samuel Ron | Methods for playing computer games without a display |
US20100113152A1 (en) * | 2007-01-30 | 2010-05-06 | Ron Shmuel | Computer games based on mental imagery |
US20100146253A1 (en) * | 2008-12-04 | 2010-06-10 | Nintendo Co., Ltd. | Program for providing interactive application adapted for use by multiple users and information processing device |
US20100257019A1 (en) * | 2009-04-02 | 2010-10-07 | Microsoft Corporation | Associating user-defined descriptions with objects |
US20100289216A1 (en) * | 2009-05-18 | 2010-11-18 | Charney Fred | Educational kit and method for teaching academic and vocational subjects |
US20110016153A1 (en) * | 2009-07-17 | 2011-01-20 | Ibm Corporation | System and Method for Parallel Processing |
WO2011100573A1 (en) * | 2010-02-12 | 2011-08-18 | Google Inc. | Compound splitting |
US20110283236A1 (en) * | 2010-01-26 | 2011-11-17 | Francois Beaumier | Digital jukebox device with improved user interfaces, and associated methods |
US20110320019A1 (en) * | 2010-04-22 | 2011-12-29 | Ebay Inc. | Data mining system |
US20130097180A1 (en) * | 2011-10-18 | 2013-04-18 | Erick Tseng | Ranking Objects by Social Relevance |
WO2013061118A1 (en) * | 2011-10-27 | 2013-05-02 | Mohammed Ameen | Knowledge based social gaming system with appropriate rewards |
US20130204667A1 (en) * | 2011-08-05 | 2013-08-08 | Disney Enterprises, Inc. | Social networks games configured to elicit market research data as part of game play |
US8684807B1 (en) * | 2011-02-04 | 2014-04-01 | Richard Crici | System, method and computer program product for providing an interactive trivia game on an electronic device |
WO2014124311A1 (en) * | 2013-02-07 | 2014-08-14 | Wolf Alexandra H | Educational game |
US20140315635A1 (en) * | 2013-04-19 | 2014-10-23 | Upfront Anayltics Ltd. | Method and apparatus to elicit market research using game play |
US9015287B2 (en) | 2002-09-16 | 2015-04-21 | Touch Tunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9041784B2 (en) | 2007-09-24 | 2015-05-26 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US9076155B2 (en) | 2009-03-18 | 2015-07-07 | Touchtunes Music Corporation | Jukebox with connection to external social networking services and associated systems and methods |
US9100676B2 (en) | 1998-07-22 | 2015-08-04 | Touchtunes Music Corporation | Audiovisual reproduction system |
US20150217187A1 (en) * | 2014-02-03 | 2015-08-06 | Timeplay Inc. | Methods and systems for algorithmically selected trivia gaming content |
US9129328B2 (en) | 2000-02-23 | 2015-09-08 | Touchtunes Music Corporation | Process for ordering a selection in advance, digital system and jukebox for embodiment of the process |
US9152633B2 (en) | 2000-05-10 | 2015-10-06 | Touchtunes Music Corporation | Device and process for remote management of a network of audiovisual information reproduction systems |
US9149727B2 (en) | 2000-06-29 | 2015-10-06 | Touchtunes Music Corporation | Communication device and method between an audiovisual information playback system and an electronic game machine |
WO2015156908A1 (en) * | 2014-04-12 | 2015-10-15 | Myres Sierra A | Method and system for a gaming mobile software application driven by user content |
US9165322B2 (en) | 2002-09-16 | 2015-10-20 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9171419B2 (en) | 2007-01-17 | 2015-10-27 | Touchtunes Music Corporation | Coin operated entertainment system |
US9197914B2 (en) | 2000-06-20 | 2015-11-24 | Touchtunes Music Corporation | Method for the distribution of audio-visual information and a system for the distribution of audio-visual information |
US9288529B2 (en) | 1999-07-16 | 2016-03-15 | Touchtunes Music Corporation | Remote management system for at least one audiovisual information reproduction device |
US9292166B2 (en) | 2009-03-18 | 2016-03-22 | Touchtunes Music Corporation | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
US9313574B2 (en) | 1997-09-26 | 2016-04-12 | Touchtunes Music Corporation | Wireless digital transmission system for loudspeakers |
US9348903B2 (en) | 2013-02-08 | 2016-05-24 | John Moran | Methods, devices and computer readable mediums for a music recognition game |
US9451203B2 (en) | 2000-02-16 | 2016-09-20 | Touchtunes Music Corporation | Downloading file reception process |
US9545578B2 (en) | 2000-09-15 | 2017-01-17 | Touchtunes Music Corporation | Jukebox entertainment system having multiple choice games relating to music |
US20170072300A1 (en) * | 2014-06-03 | 2017-03-16 | Kseek Co., Ltd | Quiz game providing system using user creating quiz game set and method thereof |
US9608583B2 (en) | 2000-02-16 | 2017-03-28 | Touchtunes Music Corporation | Process for adjusting the sound volume of a digital sound recording |
US9646339B2 (en) | 2002-09-16 | 2017-05-09 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US20170182411A1 (en) * | 2015-06-08 | 2017-06-29 | Kseek Co., Ltd. | Goal achievement online speed quiz game providing method and system |
US9769566B2 (en) | 1998-07-22 | 2017-09-19 | Touchtunes Music Corporation | Sound control circuit for a digital audiovisual reproduction system |
US9921717B2 (en) | 2013-11-07 | 2018-03-20 | Touchtunes Music Corporation | Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices |
US9953341B2 (en) | 2008-01-10 | 2018-04-24 | Touchtunes Music Corporation | Systems and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server |
US10089613B2 (en) | 2002-09-16 | 2018-10-02 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
CN108875044A (en) * | 2018-06-27 | 2018-11-23 | 北京三快在线科技有限公司 | Contact person's searching method, device, storage medium and electronic equipment |
US10169773B2 (en) | 2008-07-09 | 2019-01-01 | Touchtunes Music Corporation | Digital downloading jukebox with revenue-enhancing features |
USD838288S1 (en) * | 2009-02-24 | 2019-01-15 | Tixtrack, Inc. | Display screen or portion of a display screen with a computer generated venue map and a pop-up window appearing in response to an electronic pointer |
US10290006B2 (en) | 2008-08-15 | 2019-05-14 | Touchtunes Music Corporation | Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations |
US10304445B2 (en) * | 2016-10-13 | 2019-05-28 | Viesoft, Inc. | Wearable device for speech training |
US20190171671A1 (en) * | 2016-10-13 | 2019-06-06 | Viesoft, Inc. | Data processing for continuous monitoring of sound data and advanced life arc presentation analysis |
US10318027B2 (en) | 2009-03-18 | 2019-06-11 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US10373420B2 (en) | 2002-09-16 | 2019-08-06 | Touchtunes Music Corporation | Digital downloading jukebox with enhanced communication features |
US10372301B2 (en) | 2002-09-16 | 2019-08-06 | Touch Tunes Music Corporation | Jukebox with customizable avatar |
US10564804B2 (en) | 2009-03-18 | 2020-02-18 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US20200078676A1 (en) * | 2016-06-29 | 2020-03-12 | Razer (Asia-Pacific) Pte. Ltd. | Data providing methods, data providing systems, and computer-readable media |
US10656739B2 (en) | 2014-03-25 | 2020-05-19 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
CN111563037A (en) * | 2020-04-26 | 2020-08-21 | 顾海蝶 | Test optimization method and device based on test questions, storage medium and terminal |
US11029826B2 (en) * | 2014-07-17 | 2021-06-08 | Barnes & Noble College Booksellers, Llc | Digital flash cards including links to digital content |
US11029823B2 (en) | 2002-09-16 | 2021-06-08 | Touchtunes Music Corporation | Jukebox with customizable avatar |
US11126346B2 (en) | 2013-12-31 | 2021-09-21 | Barnes & Noble College Booksellers, Llc | Digital flash card techniques |
US11151224B2 (en) | 2012-01-09 | 2021-10-19 | Touchtunes Music Corporation | Systems and/or methods for monitoring audio inputs to jukebox devices |
CN114492465A (en) * | 2022-02-14 | 2022-05-13 | 平安科技(深圳)有限公司 | Dialogue generation model training method and device, dialogue generation method and electronic equipment |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3432926A4 (en) | 2016-03-21 | 2019-11-20 | Mayo Foundation for Medical Education and Research | Methods for reducing toxicity of a chemotherapeutic drug |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5221094A (en) * | 1992-07-27 | 1993-06-22 | Mark Hanson | Cover up puzzle game |
US5679075A (en) * | 1995-11-06 | 1997-10-21 | Beanstalk Entertainment Enterprises | Interactive multi-media game system and method |
US5860653A (en) * | 1995-05-15 | 1999-01-19 | Jacobs; Robert | Method and apparatus for playing a word game |
US6308954B1 (en) * | 1999-07-01 | 2001-10-30 | George L Breeler | Integrated crossword and circle-a-word puzzle |
US6318722B1 (en) * | 1999-11-22 | 2001-11-20 | Timothy S. Shafer | Word puzzles and games |
US20020042293A1 (en) * | 2000-10-09 | 2002-04-11 | Ubale Ajay Ganesh | Net related interactive quiz game |
US20020117802A1 (en) * | 2001-02-20 | 2002-08-29 | Seaberg Gordon Eric | CrossWordSearch puzzle game |
US20040014524A1 (en) * | 2002-03-18 | 2004-01-22 | Pearlman Mark B. | Trivia and memory game using multimedia clips |
US6935945B2 (en) * | 2000-05-16 | 2005-08-30 | Zeki Orak | Internet game show in which visual clue is progressively exposed to contestants |
US20050196730A1 (en) * | 2001-12-14 | 2005-09-08 | Kellman Philip J. | System and method for adaptive learning |
US20050218593A1 (en) * | 2004-04-05 | 2005-10-06 | Scott Petry | Crossword puzzle/word search combination |
US20060175756A1 (en) * | 2005-02-04 | 2006-08-10 | Riley Watson | Word puzzle |
US20060281510A1 (en) * | 2005-05-27 | 2006-12-14 | Roland Moreno | Computer-implemented question and answer game |
US7275746B2 (en) * | 2004-07-30 | 2007-10-02 | Jensen Richard L | Crossword puzzle board game |
US20080054571A1 (en) * | 2006-09-06 | 2008-03-06 | Gregory Davidzon | Trivia game and method of play |
-
2008
- 2008-09-30 US US12/285,212 patent/US20090091087A1/en not_active Abandoned
- 2008-10-03 WO PCT/CA2008/001734 patent/WO2009043153A1/en active Application Filing
- 2008-10-03 AU AU2008307105A patent/AU2008307105A1/en not_active Abandoned
- 2008-10-03 CA CA2701658A patent/CA2701658A1/en not_active Abandoned
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5221094A (en) * | 1992-07-27 | 1993-06-22 | Mark Hanson | Cover up puzzle game |
US5860653A (en) * | 1995-05-15 | 1999-01-19 | Jacobs; Robert | Method and apparatus for playing a word game |
US5679075A (en) * | 1995-11-06 | 1997-10-21 | Beanstalk Entertainment Enterprises | Interactive multi-media game system and method |
US6308954B1 (en) * | 1999-07-01 | 2001-10-30 | George L Breeler | Integrated crossword and circle-a-word puzzle |
US6318722B1 (en) * | 1999-11-22 | 2001-11-20 | Timothy S. Shafer | Word puzzles and games |
US6935945B2 (en) * | 2000-05-16 | 2005-08-30 | Zeki Orak | Internet game show in which visual clue is progressively exposed to contestants |
US20020042293A1 (en) * | 2000-10-09 | 2002-04-11 | Ubale Ajay Ganesh | Net related interactive quiz game |
US20020117802A1 (en) * | 2001-02-20 | 2002-08-29 | Seaberg Gordon Eric | CrossWordSearch puzzle game |
US20050196730A1 (en) * | 2001-12-14 | 2005-09-08 | Kellman Philip J. | System and method for adaptive learning |
US20040014524A1 (en) * | 2002-03-18 | 2004-01-22 | Pearlman Mark B. | Trivia and memory game using multimedia clips |
US20050218593A1 (en) * | 2004-04-05 | 2005-10-06 | Scott Petry | Crossword puzzle/word search combination |
US7275746B2 (en) * | 2004-07-30 | 2007-10-02 | Jensen Richard L | Crossword puzzle board game |
US20060175756A1 (en) * | 2005-02-04 | 2006-08-10 | Riley Watson | Word puzzle |
US20060281510A1 (en) * | 2005-05-27 | 2006-12-14 | Roland Moreno | Computer-implemented question and answer game |
US20080054571A1 (en) * | 2006-09-06 | 2008-03-06 | Gregory Davidzon | Trivia game and method of play |
Cited By (156)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9313574B2 (en) | 1997-09-26 | 2016-04-12 | Touchtunes Music Corporation | Wireless digital transmission system for loudspeakers |
US9769566B2 (en) | 1998-07-22 | 2017-09-19 | Touchtunes Music Corporation | Sound control circuit for a digital audiovisual reproduction system |
US9148681B2 (en) | 1998-07-22 | 2015-09-29 | Touchtunes Music Corporation | Audiovisual reproduction system |
US9100676B2 (en) | 1998-07-22 | 2015-08-04 | Touchtunes Music Corporation | Audiovisual reproduction system |
US10104410B2 (en) | 1998-07-22 | 2018-10-16 | Touchtunes Music Corporation | Audiovisual reproduction system |
US9288529B2 (en) | 1999-07-16 | 2016-03-15 | Touchtunes Music Corporation | Remote management system for at least one audiovisual information reproduction device |
US10846770B2 (en) | 2000-02-03 | 2020-11-24 | Touchtunes Music Corporation | Process for ordering a selection in advance, digital system and jukebox for embodiment of the process |
US9608583B2 (en) | 2000-02-16 | 2017-03-28 | Touchtunes Music Corporation | Process for adjusting the sound volume of a digital sound recording |
US9451203B2 (en) | 2000-02-16 | 2016-09-20 | Touchtunes Music Corporation | Downloading file reception process |
US10068279B2 (en) | 2000-02-23 | 2018-09-04 | Touchtunes Music Corporation | Process for ordering a selection in advance, digital system and jukebox for embodiment of the process |
US9129328B2 (en) | 2000-02-23 | 2015-09-08 | Touchtunes Music Corporation | Process for ordering a selection in advance, digital system and jukebox for embodiment of the process |
US10007687B2 (en) | 2000-05-10 | 2018-06-26 | Touchtunes Music Corporation | Device and process for remote management of a network of audiovisual information reproductions systems |
US9152633B2 (en) | 2000-05-10 | 2015-10-06 | Touchtunes Music Corporation | Device and process for remote management of a network of audiovisual information reproduction systems |
US9536257B2 (en) | 2000-05-10 | 2017-01-03 | Touchtunes Music Corporation | Device and process for remote management of a network of audiovisual information reproduction systems |
US9197914B2 (en) | 2000-06-20 | 2015-11-24 | Touchtunes Music Corporation | Method for the distribution of audio-visual information and a system for the distribution of audio-visual information |
US9591340B2 (en) | 2000-06-29 | 2017-03-07 | Touchtunes Music Corporation | Method for the distribution of audio-visual information and a system for the distribution of audio-visual information |
US9149727B2 (en) | 2000-06-29 | 2015-10-06 | Touchtunes Music Corporation | Communication device and method between an audiovisual information playback system and an electronic game machine |
US9292999B2 (en) | 2000-06-29 | 2016-03-22 | Touchtunes Music Corporation | Communication device and method between an audiovisual information playback system and an electronic game machine |
US9539515B2 (en) | 2000-06-29 | 2017-01-10 | Touchtunes Music Corporation | Communication device and method between an audiovisual information playback system and an electronic game machine |
US9545578B2 (en) | 2000-09-15 | 2017-01-17 | Touchtunes Music Corporation | Jukebox entertainment system having multiple choice games relating to music |
US10783738B2 (en) | 2002-09-16 | 2020-09-22 | Touchtunes Music Corporation | Digital downloading jukebox with enhanced communication features |
US9430797B2 (en) | 2002-09-16 | 2016-08-30 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9015286B2 (en) | 2002-09-16 | 2015-04-21 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US11663569B2 (en) | 2002-09-16 | 2023-05-30 | Touchtunes Music Company, Llc | Digital downloading jukebox system with central and local music server |
US10373420B2 (en) | 2002-09-16 | 2019-08-06 | Touchtunes Music Corporation | Digital downloading jukebox with enhanced communication features |
US10373142B2 (en) | 2002-09-16 | 2019-08-06 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US10372301B2 (en) | 2002-09-16 | 2019-08-06 | Touch Tunes Music Corporation | Jukebox with customizable avatar |
US11567641B2 (en) | 2002-09-16 | 2023-01-31 | Touchtunes Music Company, Llc | Jukebox with customizable avatar |
US11847882B2 (en) | 2002-09-16 | 2023-12-19 | Touchtunes Music Company, Llc | Digital downloading jukebox with enhanced communication features |
US10452237B2 (en) | 2002-09-16 | 2019-10-22 | Touchtunes Music Corporation | Jukebox with customizable avatar |
US11468418B2 (en) | 2002-09-16 | 2022-10-11 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US9015287B2 (en) | 2002-09-16 | 2015-04-21 | Touch Tunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9513774B2 (en) | 2002-09-16 | 2016-12-06 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US11314390B2 (en) | 2002-09-16 | 2022-04-26 | Touchtunes Music Corporation | Jukebox with customizable avatar |
US9164661B2 (en) | 2002-09-16 | 2015-10-20 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9165322B2 (en) | 2002-09-16 | 2015-10-20 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US9436356B2 (en) | 2002-09-16 | 2016-09-06 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US10089613B2 (en) | 2002-09-16 | 2018-10-02 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US9202209B2 (en) | 2002-09-16 | 2015-12-01 | Touchtunes Music Corporation | Digital downloading jukebox system with user-tailored music management, communications, and other tools |
US11029823B2 (en) | 2002-09-16 | 2021-06-08 | Touchtunes Music Corporation | Jukebox with customizable avatar |
US11049083B2 (en) | 2002-09-16 | 2021-06-29 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers and payment-triggered game devices update capability |
US9646339B2 (en) | 2002-09-16 | 2017-05-09 | Touchtunes Music Corporation | Digital downloading jukebox system with central and local music servers |
US9171419B2 (en) | 2007-01-17 | 2015-10-27 | Touchtunes Music Corporation | Coin operated entertainment system |
US11756380B2 (en) | 2007-01-17 | 2023-09-12 | Touchtunes Music Company, Llc | Coin operated entertainment system |
US10970963B2 (en) | 2007-01-17 | 2021-04-06 | Touchtunes Music Corporation | Coin operated entertainment system |
US10249139B2 (en) | 2007-01-17 | 2019-04-02 | Touchtunes Music Corporation | Coin operated entertainment system |
US20090325693A1 (en) * | 2007-01-30 | 2009-12-31 | Samuel Ron | Methods for playing computer games without a display |
US20100113152A1 (en) * | 2007-01-30 | 2010-05-06 | Ron Shmuel | Computer games based on mental imagery |
US9990615B2 (en) | 2007-09-24 | 2018-06-05 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US10613819B2 (en) | 2007-09-24 | 2020-04-07 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US10228897B2 (en) | 2007-09-24 | 2019-03-12 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US10032149B2 (en) | 2007-09-24 | 2018-07-24 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US9041784B2 (en) | 2007-09-24 | 2015-05-26 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US9324064B2 (en) | 2007-09-24 | 2016-04-26 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US10057613B2 (en) | 2007-09-24 | 2018-08-21 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US10776820B2 (en) | 2008-01-10 | 2020-09-15 | Touchtunes Music Corporation | Systems and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server |
US11501333B2 (en) | 2008-01-10 | 2022-11-15 | Touchtunes Music Corporation | Systems and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server |
US9953341B2 (en) | 2008-01-10 | 2018-04-24 | Touchtunes Music Corporation | Systems and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server |
US20090319896A1 (en) * | 2008-06-03 | 2009-12-24 | The Directv Group, Inc. | Visual indicators associated with a media presentation system |
US11144946B2 (en) | 2008-07-09 | 2021-10-12 | Touchtunes Music Corporation | Digital downloading jukebox with revenue-enhancing features |
US10169773B2 (en) | 2008-07-09 | 2019-01-01 | Touchtunes Music Corporation | Digital downloading jukebox with revenue-enhancing features |
US11074593B2 (en) | 2008-08-15 | 2021-07-27 | Touchtunes Music Corporation | Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations |
US10290006B2 (en) | 2008-08-15 | 2019-05-14 | Touchtunes Music Corporation | Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations |
US11645662B2 (en) | 2008-08-15 | 2023-05-09 | Touchtunes Music Company, Llc | Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations |
US20100146253A1 (en) * | 2008-12-04 | 2010-06-10 | Nintendo Co., Ltd. | Program for providing interactive application adapted for use by multiple users and information processing device |
US9889377B2 (en) * | 2008-12-04 | 2018-02-13 | Nintendo Co., Ltd. | Program for providing interactive application adapted for use by multiple users and information processing device |
USD838288S1 (en) * | 2009-02-24 | 2019-01-15 | Tixtrack, Inc. | Display screen or portion of a display screen with a computer generated venue map and a pop-up window appearing in response to an electronic pointer |
US10719149B2 (en) | 2009-03-18 | 2020-07-21 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US10963132B2 (en) | 2009-03-18 | 2021-03-30 | Touchtunes Music Corporation | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
US10977295B2 (en) | 2009-03-18 | 2021-04-13 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US10423250B2 (en) | 2009-03-18 | 2019-09-24 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US10789285B2 (en) | 2009-03-18 | 2020-09-29 | Touchtones Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US10782853B2 (en) | 2009-03-18 | 2020-09-22 | Touchtunes Music Corporation | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
US9292166B2 (en) | 2009-03-18 | 2016-03-22 | Touchtunes Music Corporation | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
US11093211B2 (en) | 2009-03-18 | 2021-08-17 | Touchtunes Music Corporation | Entertainment server and associated social networking services |
US9959012B2 (en) | 2009-03-18 | 2018-05-01 | Touchtunes Music Corporation | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
US11775146B2 (en) | 2009-03-18 | 2023-10-03 | Touchtunes Music Company, Llc | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
US10579329B2 (en) | 2009-03-18 | 2020-03-03 | Touchtunes Music Corporation | Entertainment server and associated social networking services |
US10228900B2 (en) | 2009-03-18 | 2019-03-12 | Touchtunes Music Corporation | Entertainment server and associated social networking services |
US10564804B2 (en) | 2009-03-18 | 2020-02-18 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US9774906B2 (en) | 2009-03-18 | 2017-09-26 | Touchtunes Music Corporation | Entertainment server and associated social networking services |
US9076155B2 (en) | 2009-03-18 | 2015-07-07 | Touchtunes Music Corporation | Jukebox with connection to external social networking services and associated systems and methods |
US11537270B2 (en) | 2009-03-18 | 2022-12-27 | Touchtunes Music Company, Llc | Digital jukebox device with improved karaoke-related user interfaces, and associated methods |
US11520559B2 (en) | 2009-03-18 | 2022-12-06 | Touchtunes Music Company, Llc | Entertainment server and associated social networking services |
US10318027B2 (en) | 2009-03-18 | 2019-06-11 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US20100257019A1 (en) * | 2009-04-02 | 2010-10-07 | Microsoft Corporation | Associating user-defined descriptions with objects |
US8056901B2 (en) | 2009-05-18 | 2011-11-15 | Charney Fred | Educational kit and method for teaching academic and vocational subjects |
US20100289216A1 (en) * | 2009-05-18 | 2010-11-18 | Charney Fred | Educational kit and method for teaching academic and vocational subjects |
WO2010135328A1 (en) * | 2009-05-18 | 2010-11-25 | Fred Charney | Educational kit and method for teaching academic and vocational subjects |
US8370394B2 (en) * | 2009-07-17 | 2013-02-05 | International Business Machines Corporation | Parallel processing of data organized in a tree structure |
US20110016153A1 (en) * | 2009-07-17 | 2011-01-20 | Ibm Corporation | System and Method for Parallel Processing |
US11570862B2 (en) | 2010-01-26 | 2023-01-31 | Touchtunes Music Company, Llc | Digital jukebox device with improved user interfaces, and associated methods |
US10503463B2 (en) * | 2010-01-26 | 2019-12-10 | TouchTune Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US10901686B2 (en) | 2010-01-26 | 2021-01-26 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US11291091B2 (en) | 2010-01-26 | 2022-03-29 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US11259376B2 (en) * | 2010-01-26 | 2022-02-22 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US11864285B2 (en) | 2010-01-26 | 2024-01-02 | Touchtunes Music Company, Llc | Digital jukebox device with improved user interfaces, and associated methods |
US11700680B2 (en) | 2010-01-26 | 2023-07-11 | Touchtunes Music Company, Llc | Digital jukebox device with improved user interfaces, and associated methods |
US9521375B2 (en) * | 2010-01-26 | 2016-12-13 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US11252797B2 (en) | 2010-01-26 | 2022-02-15 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US20110283236A1 (en) * | 2010-01-26 | 2011-11-17 | Francois Beaumier | Digital jukebox device with improved user interfaces, and associated methods |
US10768891B2 (en) | 2010-01-26 | 2020-09-08 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US11576239B2 (en) | 2010-01-26 | 2023-02-07 | Touchtunes Music Company, Llc | Digital jukebox device with improved user interfaces, and associated methods |
WO2011100573A1 (en) * | 2010-02-12 | 2011-08-18 | Google Inc. | Compound splitting |
US20110202330A1 (en) * | 2010-02-12 | 2011-08-18 | Google Inc. | Compound Splitting |
US9075792B2 (en) * | 2010-02-12 | 2015-07-07 | Google Inc. | Compound splitting |
US10769650B2 (en) | 2010-04-22 | 2020-09-08 | Ebay Inc. | Data mining system |
US20110320019A1 (en) * | 2010-04-22 | 2011-12-29 | Ebay Inc. | Data mining system |
US9600823B2 (en) * | 2010-04-22 | 2017-03-21 | Ebay Inc. | Data mining system |
US8684807B1 (en) * | 2011-02-04 | 2014-04-01 | Richard Crici | System, method and computer program product for providing an interactive trivia game on an electronic device |
US20130204667A1 (en) * | 2011-08-05 | 2013-08-08 | Disney Enterprises, Inc. | Social networks games configured to elicit market research data as part of game play |
US10880591B2 (en) | 2011-09-18 | 2020-12-29 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US11395023B2 (en) | 2011-09-18 | 2022-07-19 | Touchtunes Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US10582239B2 (en) | 2011-09-18 | 2020-03-03 | TouchTune Music Corporation | Digital jukebox device with karaoke and/or photo booth features, and associated methods |
US20130097180A1 (en) * | 2011-10-18 | 2013-04-18 | Erick Tseng | Ranking Objects by Social Relevance |
US8977611B2 (en) * | 2011-10-18 | 2015-03-10 | Facebook, Inc. | Ranking objects by social relevance |
WO2013061118A1 (en) * | 2011-10-27 | 2013-05-02 | Mohammed Ameen | Knowledge based social gaming system with appropriate rewards |
US11989048B2 (en) | 2012-01-09 | 2024-05-21 | Touchtunes Music Company, Llc | Systems and/or methods for monitoring audio inputs to jukebox devices |
US11151224B2 (en) | 2012-01-09 | 2021-10-19 | Touchtunes Music Corporation | Systems and/or methods for monitoring audio inputs to jukebox devices |
WO2014124311A1 (en) * | 2013-02-07 | 2014-08-14 | Wolf Alexandra H | Educational game |
US9348903B2 (en) | 2013-02-08 | 2016-05-24 | John Moran | Methods, devices and computer readable mediums for a music recognition game |
US20140315635A1 (en) * | 2013-04-19 | 2014-10-23 | Upfront Anayltics Ltd. | Method and apparatus to elicit market research using game play |
US9610495B2 (en) * | 2013-04-19 | 2017-04-04 | Upfront Analytics Inc. | Method and apparatus to elicit market research using game play |
US11409413B2 (en) | 2013-11-07 | 2022-08-09 | Touchtunes Music Corporation | Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices |
US9921717B2 (en) | 2013-11-07 | 2018-03-20 | Touchtunes Music Corporation | Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices |
US11714528B2 (en) | 2013-11-07 | 2023-08-01 | Touchtunes Music Company, Llc | Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices |
US11126346B2 (en) | 2013-12-31 | 2021-09-21 | Barnes & Noble College Booksellers, Llc | Digital flash card techniques |
WO2015113146A1 (en) * | 2014-02-03 | 2015-08-06 | Timeplay Inc. | Methods and systems for algorithmically selected trivia gaming content |
US20150217187A1 (en) * | 2014-02-03 | 2015-08-06 | Timeplay Inc. | Methods and systems for algorithmically selected trivia gaming content |
EP3102299A4 (en) * | 2014-02-03 | 2017-10-25 | Timeplay Inc. | Methods and systems for algorithmically selected trivia gaming content |
US11874980B2 (en) | 2014-03-25 | 2024-01-16 | Touchtunes Music Company, Llc | Digital jukebox device with improved user interfaces, and associated methods |
US11353973B2 (en) | 2014-03-25 | 2022-06-07 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US11782538B2 (en) | 2014-03-25 | 2023-10-10 | Touchtunes Music Company, Llc | Digital jukebox device with improved user interfaces, and associated methods |
US11327588B2 (en) | 2014-03-25 | 2022-05-10 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US10901540B2 (en) | 2014-03-25 | 2021-01-26 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US11513619B2 (en) | 2014-03-25 | 2022-11-29 | Touchtunes Music Company, Llc | Digital jukebox device with improved user interfaces, and associated methods |
US10949006B2 (en) | 2014-03-25 | 2021-03-16 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US11625113B2 (en) | 2014-03-25 | 2023-04-11 | Touchtunes Music Company, Llc | Digital jukebox device with improved user interfaces, and associated methods |
US11556192B2 (en) | 2014-03-25 | 2023-01-17 | Touchtunes Music Company, Llc | Digital jukebox device with improved user interfaces, and associated methods |
US11137844B2 (en) | 2014-03-25 | 2021-10-05 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
US10656739B2 (en) | 2014-03-25 | 2020-05-19 | Touchtunes Music Corporation | Digital jukebox device with improved user interfaces, and associated methods |
WO2015156908A1 (en) * | 2014-04-12 | 2015-10-15 | Myres Sierra A | Method and system for a gaming mobile software application driven by user content |
US10124245B2 (en) * | 2014-06-03 | 2018-11-13 | Kseek Co., Ltd. | Quiz game providing system using user creating quiz game set and method thereof |
US20170072300A1 (en) * | 2014-06-03 | 2017-03-16 | Kseek Co., Ltd | Quiz game providing system using user creating quiz game set and method thereof |
US11029826B2 (en) * | 2014-07-17 | 2021-06-08 | Barnes & Noble College Booksellers, Llc | Digital flash cards including links to digital content |
US11768589B2 (en) | 2014-07-17 | 2023-09-26 | Barnes & Noble College Booksellers, Llc | Digital flash cards including links to digital content |
US20170182411A1 (en) * | 2015-06-08 | 2017-06-29 | Kseek Co., Ltd. | Goal achievement online speed quiz game providing method and system |
TWI765883B (en) * | 2016-06-29 | 2022-06-01 | 新加坡商雷蛇(亞太)私人有限公司 | Methods for facilitating game play, systems providing artificial intelligence game mentor for facilitating game play, and computer-readable media |
US20200078676A1 (en) * | 2016-06-29 | 2020-03-12 | Razer (Asia-Pacific) Pte. Ltd. | Data providing methods, data providing systems, and computer-readable media |
US11148049B2 (en) * | 2016-06-29 | 2021-10-19 | Razer (Asia-Pacific) Pte. Ltd. | Data providing methods, data providing systems, and computer-readable media |
US20190171671A1 (en) * | 2016-10-13 | 2019-06-06 | Viesoft, Inc. | Data processing for continuous monitoring of sound data and advanced life arc presentation analysis |
US10650055B2 (en) * | 2016-10-13 | 2020-05-12 | Viesoft, Inc. | Data processing for continuous monitoring of sound data and advanced life arc presentation analysis |
US10304445B2 (en) * | 2016-10-13 | 2019-05-28 | Viesoft, Inc. | Wearable device for speech training |
CN108875044A (en) * | 2018-06-27 | 2018-11-23 | 北京三快在线科技有限公司 | Contact person's searching method, device, storage medium and electronic equipment |
CN111563037A (en) * | 2020-04-26 | 2020-08-21 | 顾海蝶 | Test optimization method and device based on test questions, storage medium and terminal |
CN114492465A (en) * | 2022-02-14 | 2022-05-13 | 平安科技(深圳)有限公司 | Dialogue generation model training method and device, dialogue generation method and electronic equipment |
Also Published As
Publication number | Publication date |
---|---|
WO2009043153A1 (en) | 2009-04-09 |
AU2008307105A1 (en) | 2009-04-09 |
WO2009043153A4 (en) | 2009-06-18 |
CA2701658A1 (en) | 2009-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090091087A1 (en) | Quiz-nested quiz game and system therefore | |
Kirkpatrick | Computer games and the social imaginary | |
Zubek | Elements of game design | |
US10058784B2 (en) | Game systems with interoperating or both interoperating and interrelated quizzes and/or puzzles | |
US10150036B2 (en) | Apparatus and method for providing a computer implemented game | |
Young | Understanding online gaming addiction and treatment issues for adolescents | |
US8465355B1 (en) | Multiplayer electronic word game | |
US7686682B2 (en) | Video game for tagging photos | |
US9937418B2 (en) | Computing device, game, and methods therefor | |
Stenros et al. | Social interaction in games | |
JP2010104695A (en) | Game system and game control method | |
Ouellette | Playing with the guys: Masculinity and relationships in video games | |
JP2003529397A6 (en) | Interactive game play system and method scheduled based on actual events | |
Rappaport | " Melee is Broken": Super Smash Bros. Melee: An Interdisciplinary Esports Ethnography | |
US20170157516A1 (en) | System and method for managing word games | |
Arlt et al. | The Computer as Game, Toy, and Player | |
Morris | MOBA Games: A Critical Analysis Into What Makes And Breaks Them, And What Influences Players to Keep Returning | |
Gazaway | Introduction to game systems design | |
Thompson | I'm Better Than You, and I Can Prove it: Games, Expertise, and the Culture of Competition | |
Koyama | PC Game (1): Establishing the 8-Bit Trinities | |
Richter | Beginning iOS social games | |
Goodwin | Polished Game Development: From First Steps to Final Release | |
Blignaut et al. | Collating researchable issues of African digital games | |
Andsten | Developing a Visual Novel Framework for Roleplaying Games | |
Richter | iOS Social Games |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: 785291314, INC.,CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WASMUND, ROBERT A;REEL/FRAME:024047/0619 Effective date: 20100303 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |