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 and click Interactive Quizzes (EVQ) to reach its own screen.
- Give the quiz a title.
- 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. - Click Validate JSON first — it checks the script actually parses, that a starting scene exists, and flags obviously incomplete
ifscorerules, before you save. - Click Save Quiz.
- Load existing Quiz reopens or reuses any saved quiz, with plays/completions shown inline.
The Interactive Quizzes (EVQ) creation section on the Generate page.
assets/screenshots/evq-create.png
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:
| Field | What it does |
|---|---|
load / button1 | Shows a primary action button (labelled by button1, default “Ok”) that jumps to the named scene. |
prev / next | Shows Previous/Next buttons that jump to the named scenes. |
showscore | When "true" on a question scene, answering shows a score-review panel before the reader can continue. |
ifscore | An 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).
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.