How to Create a Personality Test in Storyline
Over the years, there have been countless discussions in the forums about how to create a personality test or magazine-style quiz in Storyline, like this one, or this one … the list goes on.
Unlike standard quiz questions, personality quiz questions don’t have correct answers. That’s because the purpose of a personality quiz isn’t to check your knowledge; it’s to classify you into a given category based on your responses. Whether your categories are personality types or knowledge levels, these kinds of quizzes can be a useful tool.
I decided to try building this type of quiz so I could share the wealth with you fine folks. But before we get into the nitty-gritty, first check out my example. If you’re really short on time, you can skip the instructions and just download the template. For those of you who are hungry to learn, let’s break it down here, step by step.
1. Define Categories
Before you start working on your quiz in Storyline, make sure to define the different categories you want to sort learners into. In my example I chose to create four categories, but you can do more or less; it’s up to you.
2. Create Quiz Questions
Next, insert your first multiple choice or “pick one” quiz question. I decided to pick a quiz template from Content Library so I didn’t have to worry about the design. I really liked the layout options for multiple choice questions in the Focus template, so I went with that.
For my personality test, I kept it simple by sticking to four choices per question, each corresponding to one of my four categories. I also chose to keep the choices in the same order on each slide. This way all the “As” correspond to the same category, and all the “Bs” correspond to the same category, etc.
Keep in mind that you don’t have to do it that way. You could have six choices per question, but only four categories. Or you could have an equal amount of choices per question and categories, but mix up the order to keep learners guessing. If you decide to opt for a more complex scenario, I recommend creating a spreadsheet to keep track of which choices correspond to which categories, so you don’t get mixed up.
Before you move onto the next step, go into form view and set feedback to “None.”
3. Create Variables
Next, create a number variable with an initial value of 0 for each category. Make sure to choose names that are meaningful to make it easy to identify which variables correspond to which category.
For my example, I created four variables: A, B, C, and D.
4. Add Triggers
Now, back in slide view, add a trigger for every choice that adds 1 to the corresponding variable when the learner clicks the submit button. Here’s my trigger for choice A:
When the learner selects response A and clicks on “Submit,” variable A will be equal to 1 instead of 0. Copy and paste that trigger for each of your choices, making sure to swap out the variable and shape for each.
Before you move onto the next step, make sure to move all these new triggers to the top using the arrow button:
Otherwise, the interaction will be submitted before the triggers are executed and the variables won’t increment. If the value of your variables doesn’t change, the interaction won’t work. Your trigger panel should look like this:
5. Duplicate Questions
Now that your first question is all set up, duplicate it for all your other questions. This way, if you keep all your choices in the same order, you only have to set up your triggers once. Easy-peasy!
If you do decide to mix up the order, make sure to update your triggers so the appropriate variable is being incremented when the learners make their selection.
6. Set Up Results Slide
Insert a graded results slide and delete all the objects on the slide except for the retry button (unless you don’t want to allow learners to retry the quiz). Go ahead and delete the incorrect and correct slide layers as well. Then, insert a layer for each category.
Next, add a trigger to display each category layer when that variable is greater than all the other variables:
Then, insert an additional layer called “Tie” in case learners end up with an equal amount of answers from two or more categories.
Before you add a trigger to show this layer in case of a tie, create a chart like the one below to figure out all the possible combinations resulting in a tie:
Then write them down in a table to make it easy to set up the trigger correctly in Storyline.
Now add a trigger to show the “Tie” layer when the timeline starts if any of the variables are equal. Your trigger should look like this:
When you’re selecting the other conditions, make sure to select “or” (not “and”) so that no matter which combination is present, the learner will see the “Tie” layer.
Finally, when your trigger is all set up, move it all the way to the top of the slide triggers list using the arrow. If you don’t, the “Tie” layer will appear when two variables have the same value even if there’s another variable that’s greater than both of them. This is what your trigger panel should look like:
7. Add Dynamic Results Graph (Optional)
If you want learners to see how many of their answers correspond to each category, like in my example, it’s fairly easy to set up. This step is entirely optional, so if you don’t want a dynamic results graph, go ahead and skip to the next section of this article.
If you do want to create a dynamic results graph, start by figuring out how many steps you’ll need. In my example I have five questions, so I created five steps.
Once you’ve determined the steps you want, insert a rectangle. In my example I gave my rectangle a height of five pixels.
Then, add a custom state for each step. In my first state I changed the height of my rectangle to 25 pixels. From there, I added 25 pixels to my rectangle for each step. In the end, my states looked like this:
Next, copy and paste your rectangle until you have one for each category, adjust the colors, and add labels.
Now, add a trigger to adjust the state of your rectangles based on the value of the corresponding variable. For example, if variable A is equal to 1, I want the state of rectangle A to be 1 as well. You’ll need to add the same amount of triggers as you have states for each object. My triggers look like this:
Since you can copy and paste your triggers and just swap out the variable name and value, this actually takes a lot less time than you’d think.
8. Configure Quiz Reset (Optional)
If you want learners to be able to try again, add a trigger to set each number variable back to zero when they click on the retry button. Your trigger should look like this:
Once you’ve created the trigger, you can copy and paste it for all the other variables. Don’t forget to swap out the variable each time.
If you added a dynamic results graph, you’ll also need to add a trigger to each object to reset the object’s state to “Normal” when the user clicks on the retry button. Your trigger should look like this:
Go ahead and copy and paste that trigger for all the shapes in your dynamic results graph, swapping out the object each time.
Then, move all of these triggers up using the arrow button so that they’re above the “Jump to” trigger. When you’re done, the triggers on your retry button should look like this:
That’s all there is to it! As you can see, the most difficult part about this kind of project is figuring out the logic behind it. Once you’ve got that down, it’s super-easy to build in Storyline!
If you feel like you’ve followed all the directions, but your interaction still isn’t working, check out this article on troubleshooting advanced interactions. Nicole shared some great tips that are sure to get you back on the right track. And of course, if you have any questions or comments, please let me know in the space below!
Want to try something you learned here, but don’t have Articulate 360? Start a free 30-day trial, and come back to E-Learning Heroes regularly for more helpful advice on everything related to e-learning.
Hello, I have found this guide very useful and have successfully built my first 'magazine-style' assessment using it so thank you for sharing! I have one question, however. Instead of using an 'if A is greater than B' style command for the final results page as per your guide, I would instead like to allocate 3 points for answer A, 2 points for answer B and 1 point for answer C for each question (there are 3 available answers for each of my 10 questions - so 30pts would be the maximum score, i.e. 10 x 'A' answers). Then, at the results page, I would like to add a formula which dictates: if user has totalled greater than 25pts, show layer X If user has totalled between 19 and 24pts, show layer Y If user has totalled less than 19pts, show layer Z Is there a way I can achieve this?... Expand