Section author: ACF (webmaster@acf-quizbowl.com)

MODAQ

Important

This documentation was sourced from the MODAQ Wiki. See that site for the most up-to-date documentation.

MODAQ is a browser-based quizbowl scorekeeping utility designed to manage game setup, live scoring, protests, substitutions, and exports.

Online Instances

  • Main instance: https://quizbowlreader.com/demo.html

    • This is the most up-to-date version hosted on the QuizbowlReader site by Alejandro López-Lago, the maintainer of MODAQ.

  • Secondary instance: https://modaq.github.io/

    • This is the secondary instance hosted by Geoffrey Wu of QBReader. It may not reflect the latest MODAQ codebase but has generally been more reliable in the past.

How to use the reader

Create a new game manually

  1. Click New Game in the menu bar.

    • The New Game dialog opens with the Manual tab selected.

  2. For each team:

    • Enter a unique team name.

    • Add players by entering their names. Player names must be unique within the team.

    • Check the Starter box for starting players; uncheck it for substitutes.

    • Click the + button to add more players.

    • Click the X next to a player to remove them.

    • Use the up and down arrow keys to move between players.

  3. Load a packet:

    • Click Load... and select a file.

    • Supported formats: Microsoft Word documents (.docx) or JSON files (.json).

    • JSON files should be generated from Yet Another Packet Parser.

  4. Click Start to begin the game.

    • The dialog remains open if there are issues such as duplicate names or no packet loaded.

Note

Word documents are parsed using an online service. If parsing fails, an error message will indicate the issue.

Create a new game from a QBJ registration file

  1. Create a QBJ registration file first; the QuizBowlReader registration page can generate one.

  2. Click New Game in the menu bar.

  3. Select the From QBJ Registration tab.

  4. Click Load Roster... and select the QBJ registration file.

  5. Once rosters load, select the two teams.

    • Use Starter checkboxes to choose starting players.

  6. Load a packet using the Load... button.

    • Accepts .docx or JSON files from Yet Another Packet Parser.

  7. Click Start.

    • The dialog remains open if there are issues such as selecting the same team twice.

Change the game format

When creating a new game, MODAQ offers predefined formats and allows custom format adjustments.

Game formats

Format

Regulation Tossups

Correct Base Points

Power Marker

Power Points

Neg Value

Bouncebacks

Timeouts

ACF

20

10

None

N/A

-5

No

1

mACF with powers

20

10

(*)

15

-5

No

1

Freeform format

User-Set (Default 999)

10

User-Set (Default (*))

15

-5

No

999

  • Base points for correct answers are 10 when no power marker is reached.

  • Power points apply only to correct buzzes at or before the power marker.

  • Bonus point values are determined by the packet and can be customized.

  • Freeform format supports unlimited tossups and timeouts for flexibility.

Customizing the format

  1. Go to Options > Change Format....

  2. Select a base format from the dropdown if needed.

  3. Use the tabs to modify settings:

    • Game Length: Adjust regulation tossups and overtime minimums.

    • Scoring: Set point values and markers for negs, powers, and superpowers.

    • Bonuses: Configure bouncebacks, overtime bonuses, and paired tossup-bonuses.

  4. Click Save to apply the changes.

Note

Changes to the format affect the current game only.

Gameplay

Scoring tossups

Once a game has started, the question viewer shows the current tossup and the corresponding bonus after a correct answer.

To score a tossup:

  1. Click the word where the player buzzed.

    • If the buzz occurred after the question ended, click the ■END■ block.

  2. In the context menu, teams are shown as sections with players underneath.

  3. Hover over the buzzing player’s name and click Correct or Wrong.

    • Points are calculated automatically based on the selected format.

Undoing a score

  • Click the same word again and choose the same judgment to clear the buzz.

  • Or choose the opposite judgment to switch it.

  • Or click the X for the buzz event in the event viewer.

Dead tossup

If no one answers correctly, click Next to proceed to the next question.

Note

The mACF with powers format only supports (*) as the power mark and 15-point powers. Use the format change options to adjust powermarks and power values.

Scoring bonuses

The bonus appears in the question viewer but is only interactive after a correct tossup.

  • For standard bonuses, check the box next to each part the team answered correctly.

  • You can also press the part number on the keyboard, e.g. 1 for part 1.

  • If bounceback bonuses are enabled, use the dropdown next to each part to select which team answered it correctly.

Once bonus scoring is complete, click Next to continue.

Note

You can throw out a bonus by clicking the X button, but this may be disabled if future bonuses have already been scored.

Protests

Players may protest incorrect judgments on tossup buzzes or bonus answers.

Protesting a tossup buzz

  1. Click the word where the player buzzed.

  2. In the menu, choose the player under their team section.

  3. Select Protest from the submenu.

  4. Enter the correct answer and reason.

  5. Click OK to log the protest.

Protesting a bonus

  1. Go to Actions > Protest bonus.

  2. Select the bonus part being protested.

  3. Enter the correct answer and reason.

  4. Click OK to log the protest.

Removing a protest

  • Find the protest event in the event log and click the X next to it.

  • For tossup protests, you can also click the buzz word, select the player, and click Protest again to toggle it off.

Note

Protests are recorded for export and review but do not affect scoring automatically.

Substitutions

Swapping players

  1. Go to Actions > [Team Name] > [Player to sub out] > Substitute > [Player to sub in].

Adding players

  1. Go to Actions > Add Player....

  2. Select the team and enter the player’s name.

  3. Click OK.

Removing players

  1. Go to Actions > [Team Name] > [Player to remove] > Leave.

Undoing substitutions

Find the substitution event in the event log and click the X next to it. Events appear as:

  • “Substitution (Team 1): Alice for Bob”

  • “New player (Team 1): Alice”

  • “Alice (Team 1) leaves”

Throwing out questions

Throwing out tossups

Click the X button at the top-right of the tossup question viewer.

If no more tossups remain, the application will notify you.

Throwing out bonuses

Click the X button at the top-right of the bonus question viewer.

Note

You cannot throw out a bonus if future bonuses have already been scored.

Restoring thrown out questions

To restore a question, find the throw-out event in the event log and click the X next to it.

Adding extra questions to the current packet

If you run out of questions during overtime, you can add more questions to continue the game.

  1. Go to Actions > Add questions....

  2. Click Load... and select a file.

  3. Click Load to append the new questions to the current packet.

Exporting results

Export to Sheets

  1. Go to Export > Export to Sheets....

  2. Paste the URL of your scoresheet and select the correct round number.

    • Ensure the round number is accurate to avoid overwriting existing games.

  3. Click Export.

    • Sign in to Google and approve the application if prompted.

  4. Monitor progress in the dialog.

Note

Supports TJ Sheets and UCSD Sheets.

Export to JSON

  1. Go to Export > Export to JSON....

  2. Select the round number.

  3. Choose an export type:

    • Export QBJ: Exports a QBJ file conforming to the QB Schema Match schema.

      • This file can be used as a backup, but the packet file is also required to restore the game.

    • Export game: Exports a JSON file with packet, players, and events.

      • Use this format for a backup when you may not have access to the packet later.

      • Do not publish this file because it contains the packet questions.

    • Export events: Exports a JSON file with game events only.

Keyboard shortcuts

  • N: Go to next question.

  • P or B: Go to previous question.

Buzzing

  • E: Open the buzz menu at the end of the current tossup.

  • Space: Open the buzz menu on the selected word when tossup text has focus.

  • and : Navigate through words in the tossup text.

Bonus scoring

  • 1, 2, 3, 4, 5: Toggle correctness for the corresponding bonus part in non-bounceback formats.

UI navigation

  • Tab: Move focus between UI elements.

  • Arrow keys: Navigate between elements in the New Game wizard.

    • and : navigate between name and starter checkbox.

    • and : navigate between players.

Note

Shortcuts are disabled when modal dialogs are open.

Create a new game from TJ Sheets

  1. Click New Game in the menu bar.

  2. Select the TJ Sheets tab.

  3. Paste the URL of your room’s scoresheet and click Load.

    • Sign in to Google and approve the application if prompted.

  4. Once rosters load, select the two teams.

    • Use Starter checkboxes to choose starting players.

  5. Load a packet using the Load... button.

  6. Click Start.

    • The dialog remains open if there are issues such as selecting the same team twice.

Create a new game from UCSD Sheets

  1. Click New Game in the menu bar.

  2. Select the UCSD Sheets tab.

  3. Paste the URL of your room’s scoresheet and click Load.

    • Sign in to Google and approve the application if prompted.

  4. Once rosters load, select the two teams.

    • Use Starter checkboxes to choose starting players.

  5. Load a packet using the Load... button.

    • Accepts .docx or JSON files from Yet Another Packet Parser.

  6. Click Start.

    • The dialog remains open if there are issues such as selecting the same team twice.

Note

Tossups heard are based on packet length. Manually adjust the TUH columns in UCSD Sheets exports if needed.