Pip's Quick-Fire Quiz

Shipping a quiz to test a quiz: the making of Pip’s Quick-Fire Quiz

Pip’s Odyssey is a quiz adventure, and there’s one decision we didn’t want to make on gut feel: how its questions should work…

  • Which topics do players actually pick?
  • How long should a run be before it drags?
  • Should questions arrive as sets we keep adding to after launch, or could something simpler do the job?

We could have guessed, built it into Odyssey, and found out after launch. Instead, we took a different and measured approach. We built a small, separate game whose only job is to make that measurement by letting the players play. This is the story of that game, from first prototype to live on the web and inside Discord.

Why a separate game?

Odyssey is built in Unreal Engine. It’s a big, slow-moving super-tanker of a project. Pip’s Quick-Fire Quiz is completely the opposite. It’s small, agile, extremely lightweight and super quick to develop. It’s just what we needed for a market-test game: quick to build, quick to change, and able to run anywhere people already hang out, with no download. So we kept it deliberately small: one screen of five answer cards, a timer, and a results screen. No accounts, no ads, no purchases.

We picked GameMaker for it. It’s fast for 2D, it exports to the web, and it’s a joy to work in. The same project now builds for our website, Discord and Facebook.

Designing the quiz

The core loop is simple. Pick a question set and a 5, 10 or 15-question run. For each question you get a moment to read, then five cards flip over and the clock starts. Answer fast for a speed bonus, chain right answers into a streak, or take a hint (it costs the speed bonus but keeps your streak).

We designed the screens first as wireframes, in both portrait and landscape, using the Frosty Dog brand palette: light blue background, white panels, teal cards with a chunky “lip” instead of drop shadows. Right and wrong always carry a tick or cross as well as a colour, so the game works for colour-blind players. The layout stretches to fill any screen shape, from tall phones to ultrawide monitors, without empty bands.

Pip himself isn’t drawn yet, so his best friend Randy stands in: he peeks over the correct card when you get it right, and looks suitably sad when you don’t.

Then came the juice: staggered card flips, confetti on a right answer, fireworks on streak milestones, a ticking clock for the last three seconds, a score that counts up, and a results ring that fills. Small things, but they’re the difference between a form and a game.

Where the questions come from

Questions are written in our trivia manager, the same tool that will feed Pip’s Odyssey. A WordPress plugin on our website checks each set, encrypts it with its own key and publishes it with a manifest listing what’s available. The game downloads the list, then fetches and decrypts a set when you pick it.

That means we can add, fix or retire topics without releasing a new version of the game, which is exactly the ability we’re testing for Odyssey. Encryption isn’t about secrecy (questions are meant to be seen); it just stops the whole question bank being scraped in one go.

Measuring without being creepy

The whole point of the game is data, but we didn’t want to build something that quietly tracks people. So the first time you play, the quiz asks whether you’re happy to share gameplay stats, and nothing is loaded or sent until you tap Allow. Say no and the game works exactly the same. You can change your mind any time in Settings, and it’s all spelled out in our privacy policy. The quiz is for players aged 16 and over.

If you allow it, we use GameAnalytics to record things like which set you chose, each answer (right, wrong or out of time), how quickly you answered and whether you used a hint. Each event also carries where the game is running (our website, Discord or Facebook) and how you found it, so we can tell a shared WhatsApp link from a Discord invite. No names, no emails, no accounts.

One game, three homes

The web came first: the game lives at frostydoggames.com as a full-screen page. That brought its own lessons. Share buttons have to open inside the tap itself or browsers block them as pop-ups. Link previews need their own tags and image. And one day the share buttons showed up blank because browsers were mixing a freshly uploaded game with graphics cached from the previous version. A couple of caching rules fixed that for good.

Discord was the pleasant surprise. Activities run inside Discord through its own proxy, so every request the game makes (questions, analytics) has to be mapped through Discord’s servers. Once that clicked, the game ran in Discord on desktop and iPhone the same day, and Discord verified it quickly after that. You can now launch it from the Activities menu in any server.

Facebook Instant Games is built and packaged, but waiting. New Instant Games now run under Meta’s “Zero Permissions” model, and publishing needs us accepted into their partner programme first. Fingers crossed.

To keep all this sane, one GameMaker project builds every version. A build profile switches the platform, and a small script packages each build for where it’s going.

Bugs we didn’t expect

  • The double tap. On iPhone, the Settings panel opened and instantly closed. iOS Safari sends every finger tap twice (once as a touch, once as a pretend mouse click), and the game counted both. Now the pretend clicks are ignored.
  • The game that wouldn’t start. One export simply didn’t load. GameMaker had written a tiny empty function with its brackets missing, which broke the whole script. Our packaging script now spots and repairs it automatically.
  • 403 Forbidden. The first Discord upload refused to load because the zip gave every file owner-only permissions. The scripts now set proper ones.
  • A squashed logo. The loading screen stretched the Frosty Dog logo to fit the window. A reshaped splash image and a bit of CSS keep it in proportion.

Trivia or maths?

The newest addition is a Maths set. It makes times-table questions on the fly, from 2 × 2 up to the 16 times table, with near-miss wrong answers (for 7 × 8: 48, 63, 55…) and hints that teach a shortcut (“7 × 10 is 70, take away 7”). The 13–16 tables are “Legendary” difficulty, capped to a few per run, and in testing just four of them slowed average answer time increased from 0.9 to 1.5 seconds.

Maths sits in the list alphabetically, with no special spot, so we can compare it fairly with trivia: how often it’s picked, whether people come back to it, and whether they finish their runs.

A fun discovery while building it: the 2–12 times tables only contain 66 different facts (7 × 8 is the same as 8 × 7), and only about 36 of those really need learning. Maths runs out of surprises quickly. Trivia doesn’t. That already makes a good case for downloadable question sets in Odyssey, and now we’ll see whether players agree.

What’s next

More question sets, Facebook once Meta gives the nod, and possibly YouTube Playables. Most of all, we’ll be watching the data to decide how questions work in Pip’s Odyssey. We’ll share what we learn here.

Help us out

Play a round, say yes to gameplay stats if you’re happy to, and tell us what you think in our Discord. And if you’d like to play Pip’s Odyssey early, join the beta.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Join Beta Test Form (#3)

Shape the Game...

Be one of the first to play Odyssey. Test new mechanics, squash bugs, and earn your spot in the credits. Ready to play?