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.
Current version: 1.0
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:
In future versions, I want to:
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.
Current version: 1.0
Back to Top
This personality quiz has 30 questions. Based on your answers, the results will tell you which character archetype or playbook would suit you.
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.
You did not select any answers. Please try again.