What Masks Playbook Should You Play? — A Personality Quiz

What Masks Playbook Sould You Play?

This is a personality quiz to determine which playbook best suits you in Masks: A New Generation. Masks is a table-top roleplaying game by Brendan Conway, published by Magpie Games. This is a game about telling our own comic book story of teenage superheroes who are having to juggle saving the world with keeping out of detention and finding a prom date.

Developing the Quiz

Current version: 1.0
Version History

This quiz features 30 multiple-choice questions where users are asked to choose one answer. At the start, the programme defines an array of numbers where each element tracks the points scored for a particular playbook.

Each answer to questions with four or more options counts as either a 'strong hit' or a 'weak hit' for a particular playbook depending on how well that answer suits the playbook's personality. A 'strong hit' increments the score for that playbook in the array by 2, and a 'weak hit' by 1. Every playbook has an equal number of strong and weak hit results in every question. Every option is a strong and weak hit for the sane number of playbooks.

Answers to questions that are binary in nature, such as 'true or false' questions or 'agree or disagree' questions only count as weak hits.

The output of the quiz returns the name of the playbook with the highest points, and in case of a tie returns all tied playbooks.

The form and the results are contained within a table element. By default, the container for the form is visible and the container for the survey invisible. Once the form has been submitted the page hides the form and reveals the container for the results. Reseting the quiz after the results reverts back to the default. (This is the same dynamic structure the rest of the web page uses to display or hide the various sections.)

I would also welcome any help from other Masks fans in developing this quiz further. If this is your jam, please feel free to get in touch with me.

In the current implementation:

  • The .html document has the text for all of th questions, as well as for all the results.
  • The name and flavour text of each playbook has its own container in the form of a table row. All the containers are hidden by default.
  • Once the results are displayed, the algorithm for the quiz reveals the result container for whichever playbook(s) scored the highest.
  • Resetting the quiz returns the display value of all individual containers to their defaults.
  • Processing submissions:
    The algorithm used to process involves the following steps:
    • Defining a four-dimensional array for the answer key where, for each question, for each answer, and for each type of match, it holds the set of playbooks that match the answer.
    • Initiating a loop to evaluate the answers for each question.
      • For each question, first using the index of the loop to generate the reference to the right question name.
      • Then evaluating which option was selected
        • For the selected option, first checking for strong hits.
          • If there are any matching playbooks in the answer key, indexed by the question number, answer number, and type of match, initiate a loop for the number of matches.
          • In this loop, scan the answer key and retreive the identifiers of the playbooks that match.
          • Increment the relevant playbook score by the appropriate number.
          • If there are no matches, skip this process.
        • Then repeating the above steps for weak hits.
      • This answer key is in a different .js library that is downloaded from the server.

In future versions, I want to:

  • Update questions and options to have a more detailed and accurate reflection of the playbooks and the kinds of characters or tropes players use to make characters.
  • Add functionality to estimate Labels for each character, and add additional questions to determine shifted Labels from the playbook defaults.
  • Add functionality to filter playbooks by supplement.
    • This would require a two-dimensional array of a different set of labels for each playbook, as each playbook has different starting labels and thus may be affected differently when labels are shifted beyond their maximum or minimum values depending how their starting values related to each other.
    • This would require additional sensitivity to the Soldier label, and to only display this conditionally if the Soldier playbook is displayed.
  • Change the architecture with which the results are displayed, and rather than storing the results in the .html document, generating them dynamically using the .js code. This will make it easier to generate the label results alongside the name of the relevant playbook.

How I went about making this

This is in response to some specific question I got about how I taught myself to code and went about making this. Well, for starters, I studied the code in Easydamus' D&D character quiz. I wanted to make myself a similar quiz for the Masks system, and I thought it would be fun if I coded it from scratch. So I started with literal blank pages, and I wrote the .html, .css, as well as the JavaScript libraries from scratch.

To begin with, I had some residual experience of running a web site from managing my own installation of WordPress on a virtual server. I already had Visual Studio Code on my computer to use as an editor. But generally speaking, I used the same method to learn how to code this programme that I used for all others coding endeavours like running my web site or coding in LaTeX. I studied examples and templates to get a sense of what I needed to do. Then, I read through the tutorials, documentation, and examples on W3Schools. There were also some useful tutorials on YouTube for some basic explanations of the programming languages. Following that, I googled the hell out of any problems I had. This was a steep but fun learning curve. I confess, I did get a little carried away: I was having nightmares about using the wrong JavaScript functions from time to time.

In this case, I studied Easydamus' code very closely. After I saw the structure of his implementation, I thought about the things I'd like to change. In particular, I thought of a different algorithm of processing submissions. Rather than write conditional statemenets to increment scores for every single question like he did, I thought of automating it into a loop where the algorithm checks the selected answers against an answer key. This answer key was much easier to compile (after some Excel spreadsheet wizardry that I looked up). This was a trade-off: because the answer key is defined as a four-dimensional array, there are over 100 variables defined in the script's memory, making this a little bit more intensive on the browser. Also, after I generated the entries for the answer key, the data entry to programme them into the array was very tedious. Still, I thought this was a fair trade-off if it meant condensing my entire response processing algorithm into 15 lines of code, and if it spared me the pain and drudgery of writing conditional statements for every question. Moreover, because of this architecture, the quiz is very easily expandable, as all I have to do is define new entries in the right places without having to change the code too much.

I had a lot of fun making this and tinkering with the code, and I was elated when I managed to make my algorithm work. Naturally, I encountered a bug because of a silly error I made. And I was delighted at my ability to debug this and fix the problem. Not to mention, and it was so exciting to see that the solution I thought of actually worked. Each step along the way presented a new problem that I tried hacking clever solutions for, like using Excel to automatically generate my answer key entries. But no moment was nearly as fun as when I added a feature to this quiz by sheer accident. Yes, it is a feature not, not a bug!

Because this was basically an exercise in practising coding, the code isn't as neat or tidy as I'd like. I know there are a few missing punctuation marks (thankfully, though, non-critical ones, as I have ironed out all the stray semicolons that killed my code). The general organisation of it isn't as neat, the semantics of the .css isn't as efficient as it could be, and it is obvious reading through it that my literacy and fluency with the programming languages changed dramatically as I went along. I might try and revise this in the future, if I feel like it and if I get the time.

Version History

Current version: 1.0
Back to Top

  • Version 1.0: 20 April 2020. Original implementation.

Take the Quiz

This personality quiz has 30 questions. Based on your answers, the results will tell you which character archetype or playbook would suit you.

This quiz requires JavaScript to run. Make sure you have JavaScript running on your browser. No data is stored from this survey. All your answers are held temporarily in your browser's memory, and is flushed when the page is closed.

The possible results for the quiz present all published playbooks for Masks, including those from the main game as well as the three current supplements.

How do you get to school?

How do you wear your school uniform?

How do you feel about PE?

You want to buy your band's new album. Do you...?

The school bully corners you for your lunch money. How do you deal with them?

You've been caught off-guard by a surprise test. Do you...?

What after-school club are you likely to be part of?

Which components of the Duke of Edinburgh do you find hardest to do?

The biggest parties of this school are...

Whenever there is messy relationship drama...

What are you most likely to get grounded for?

Which member of staff is the likeliest to have your back?

What role did you play in your primary school nativity play?

What is your opinion about school rules?

Whose approval do you want the most?

What is your relationship with your parents like?

What is your favourite superpower?

A villain is attacking campus with a giant mech suit. What do you do?

What are you most concerned about?

How do your friends see you?

What would be your ideal prom outfit?

What achievement are you most wanting to win?


The mantle of a superhero is...

Your entire class is facing punishment for something you did. Do you...

What is the best way to learn?

Money talks.

I'd rather be true to myself than change who I am to fit in.

I'd rather be kind to someone than tell them the painful truth.

It's better to have a plan than to improvise.

You did not select any answers. Please try again.

Your Masks playbook is:

The Beacon

You don't have to do this. You could probably have a safe, decent, simple life. It'd be nice, but... come on. Superpowers! Aliens! Wizards! Time travel! You're out of your depth but who cares? This is awesome. Everybody should try it. (From the core game.)

The Brain

You've always been the smartest kid in the room. Your inventions are world-class, your tactical plans are flawless, and your mind is a steel-trap memory palace of extraordinary ideas. If only the others knew how sometimes, none of that seems to matter. None of that keeps the shadows at bay. None of that can make up for what you did... or might do. (From the Secrets of A.E.G.I.S. supplement.)

The Bull

You're big, strong, and tough. You know what fighting really is, and you're good at it. Sure, you've got a soft side, too. But you only show that to the people you care about the most. Everybody else? They can eat your fist. (From the core game.)

The Delinquent

You've got these cool powers. But everyone keeps telling you how to use 'em. You know what they need? Someone to give them trouble, to make sure they don't always get their way. And hey! You're the perfect hero to do it. (From the core game.)

The Doomed

Something about your powers dooms you. It's just a matter of time before your doom comes for you. Until then, though... you've got a nemesis who needs fighting and a world that needs saving. After all, it's better to burn out than fade away. (From the core game.)

The Harbinger

You're from the future, and you know how things turn out. You came back with a mission — to make sure history changes for the better.
But things are scrambled. Your memories, not quite right. You're not sure how this present becomes your future. So until you can figure it out, you might as well do what you can, where you can, all the while trying to connect the dots between your world and this one. (From the Unbound supplement.)

The Innocent

Time travel is great! Or so you thought, until you landed in a strange new world with a dark, broken, damaged, dangerous, adult version of yourself. Not what you had wanted to become. Question is, what are you going to do about it? (From the Halcyon City Herald supplement.)

The Janus

Wake up. Breakfast. School. Work. Homework. Sleep. Repeat. It burns you up, being stuck in this life, unable to make a real difference. That is... until you put on the mask. And then, you can be someone else: a hero. (From the core game.)

The Joined

You'd be nothing without them—your partner, your sibling, your friend, your rival, your other half. You're tied to their powers and to them, through and through. The rest of the world only ever sees you two as halves of a whole—not as two separate people. And the two of you aren't sure if they're right. (From the Halcyon City Herald supplement.)

The Legacy

You're the latest in a storied heroic lineage, a family that shares a name and a cause. Now, everybody is watching and waiting to see if you've got what it takes to uphold that tradition. No pressure, right? (From the core game.)

The Newborn

You're a brand new being, created through scientific inquiry, feat of engineering, or random chance. This world is all new to you, full of wonder and adventure. It's not easy, though—everyone has an opinion about who you are and what you should do. It's time to find out for yourself who you really are. (From the Halcyon City Herald supplement.)

The Nomad

Maybe one time you had a home. A life with a schedule. But if you did, that was ages ago. You've been on your own, bouncing around space, time and everything in between, for years.
Except now, you've left those farscapes and come back to Earth. And letting other people into your life is way harder than travelling to other dimensions ever was. (From the Unbound supplement.)

The Nova

You're a font of power. Channel it, and you can remake the world into exactly what you want. Unleash it, and you can do miracles. It's wonderful... and terrifying. Lose control for even a second, and other people get hurt. (From the core game.)

The Outsider

You're not from here. Your home is an amazing place, full of beauty and wonder. But there's something to this place, something special that you're missing back home. Something... human. So yeah, you'll be hanging around. At least for now. (From the core game.)

The Protege

You proved yourself to an experienced hero. They think you've got what it takes. They've been training you for a while, and now you have to decide... do you want to be them? Or will you find your own path? (From the core game.)

The Reformed

Villainy used to be a way of life for you. Then you saw just what your selfishness and hate created. The supervillain life is hard to quit. But you know this best: sometimes the villain needs saving too. (From the Halcyon City Herald supplement.)

The Scion

You're a child—not an acolyte, not a creation, just the friggin' kid—of a true villain. And when anyone who knows looks at you, all they can see is your parent. Like you don't even matter. Well, forget that. You're out to prove yourself as someone different from them, and how better to do that than to be a superhero? (From the Unbound supplement.)

The Soldier

You're an agent of something greater than you—a real force fighting to make the world a better place. Through them, you stand for something important. You just hope that, when push comes to shove, you stand for the right thing. (From the Secrets of A.E.G.I.S. supplement.)

The Star

Being a hero isn't just about doing right. It's about being seen doing right. Let them think you're shallow for loving the spotlight and the cameras, for making speeches, for smiling so much. You'll be a hero in all the ways that matter. (From the Halcyon City Herald supplement.)

The Transformed

You can recall a time not too long ago when you looked... normal. When you didn't feel their stares. When you didn't hear their gasps. When no one thought of you as a monster. Those were the days, huh. (From the core game.)

How you Fared