EV Puzzles — User Manual
FREE VERSION
Building puzzles

Interactive Quizzes (EVQ)

A branching, scored quiz builder — scene by scene, with questions, feedback, and score-based navigation, not just a flat list of questions.

Interactive Quizzes (internally called EVQ, short for “Entreveloper Questions”) are different from every other puzzle type: instead of a grid, a quiz is a set of named scenes — informational screens and questions — linked together into a script you write as JSON. A reader moves scene to scene using Previous/Next/action buttons you define, and you can send them down a different path depending on how they scored on a question.

Scene types

  • info — a plain content screen (text, images), no question.
  • scq — single choice question (radio buttons).
  • mcq — multiple choice question (checkboxes).
  • minput — one or more numeric input fields.

Writing the quiz script

Open EV Puzzles SettingsGenerate and click Interactive Quizzes (EVQ) to reach its own screen.

  1. Give the quiz a title.
  2. Paste (or write) the quiz script into the JSON textarea — a JSON object where each key is either quiz-level metadata (title, descr, width, author, start) or a named scene.
  3. Click Validate JSON first — it checks the script actually parses, that a starting scene exists, and flags obviously incomplete ifscore rules, before you save.
  4. Click Save Quiz.
  5. Load existing Quiz reopens or reuses any saved quiz, with plays/completions shown inline.
📷 Screenshot pending

The Interactive Quizzes (EVQ) creation section on the Generate page.

assets/screenshots/evq-create.png

Images

Reference an image by its filename (e.g. photo.jpg) once it's uploaded to your Media Library — the plugin matches it up automatically. A full URL also works. See the FAQ if an image doesn't show up.

A minimal scene

{
  "title": "My Quiz",
  "entry": {
    "title": "Welcome",
    "content": {
      "type": "info",
      "html": "<p>Let's get started.</p>",
      "onaction": { "load": "question1", "button1": "Start" }
    }
  },
  "question1": {
    "title": "Question 1",
    "content": {
      "type": "scq",
      "html": "<p>Pick one:</p>",
      "choices": [
        { "content": "Correct answer", "score": "5" },
        { "content": "Wrong answer", "score": "0" }
      ],
      "onaction": { "showscore": "true", "next": "credits" }
    }
  },
  "credits": {
    "title": "Done",
    "content": { "type": "info", "html": "<p>Thanks for playing!</p>" }
  }
}

Navigation & scoring

Each scene's content.onaction controls what the reader sees and where they can go:

FieldWhat it does
load / button1Shows a primary action button (labelled by button1, default “Ok”) that jumps to the named scene.
prev / nextShows Previous/Next buttons that jump to the named scenes.
showscoreWhen "true" on a question scene, answering shows a score-review panel before the reader can continue.
ifscoreAn array of branch rules, e.g. {"gt":"75","navto":"credits","otherwise":"quiz2"}. Comparators are eq/gt/ge/lt/le against that question's own score percentage; navto is where to go if it matches, otherwise (or else) is where to go if it doesn't. Evaluated before the plain load/prev/next links, so it takes priority.

Each choice's score is a number, positive for a correct/partial-credit choice, zero or negative for a wrong one. A question's score is the sum of the chosen choices' scores, out of the sum of all positive-scored choices — shown as a percentage in the score-review panel, and added to a running total shown when the reader reaches the end of the quiz (any scene with no next/load of its own).

Unreachable scenes do nothing

A scene only matters if something else's load/prev/next/navto actually points to it. It's easy to write a branch rule on a scene and forget to link anything into it — if a branch doesn't seem to be firing, check that the scene it's on is actually reachable.

Editing an already-published quiz

Unlike crosswords and word searches, an Interactive Quiz block always shows the current saved version of the quiz, on every page it's added to — edit and re-save the quiz once, and every page updates automatically on next view. No need to reopen each page and re-pick it.