We’ve been playing with Storyline 360’s random number variable again and this time we’ve built a Science quiz.
From the outset we wanted to build a quiz type that we hadn’t built before, the only other stipulation was that it had to serve up questions at random.
We decided to try and build a numbered board, with a question linked to each number on the board.
Straight away this ruled out our being able to use a question bank to deliver our questions, as we recently found out when developing our Spinning Wheel Quiz. In short, the architecture of our quiz would see us jumping between the main number board and the question bank each time a question was served, the problem being that each time you exit/enter a question bank the question draw is reset and the chance of seeing repeated questions increases.
Finding a solution
With Storyline purity in mind we knew we needed a trigger to generate a random number between 1 and 20. Easy.
We also knew the number that we’d generate would directly relate to a number on the board, i.e. behind #1 is Q1 and so on.
Each number links to a question slide.Once a number is generated we use a trigger to open a layer (numbered 1-20 to match the variables), which in turn jumps to the question that matches the number variable.
“But what happens when the number generated has been used already?” I hear you ask.
Well, I’m not going to lie, this had us puzzled for a while. A cuppa, a walk around the block and an infinity loop incident later and we were back on track. All we needed was another trigger to generate a random number between 1 and 20.
To make this work we needed to create True/False variables to track whether the numbers on the board had been called yet. If a number had been called, the corresponding T/F variable would switch to True. If the variable was True when the numbered layer was launched a trigger would look to generate another number between 1 and 20 and hide the already viewed numbered layer.
I’ve always believed that an eLearning authoring tool is only as powerful as the imagination of the course designer and I’m thrilled that Storyline matched our ambitions on this one.
It’s amazing how well Storyline handles this series of triggers, especially when considering the scope of what they’re trying to achieve.
Think about it:
There’s a pool of 20 numbers from which a single number must be chosen at random. This bit isn’t difficult.
However, things get more complicated by the time you get to the point where only one or two unchosen numbers are left in the pool. Storyline must be running in to numbers we’ve blocked with our T/F variables almost constantly, and when this happens, Storyline simply starts its calculations again and delivers a brand-new number with such speed you’d have no idea of the number of calculations being performed in the background.
Of all the things we’ve created using Storyline this is up there as one of our favourites from a technical standpoint. In essence we’ve created a custom question bank with complete randomisation using only a handful of triggers.
Potential for scaling
As it stands this quiz consists of 20 questions, one for each number on the board, but I like the idea of adding more questions behind each number and randomising them too to increase the randomness.
The question types could also be switched up a bit. We’ve stuck with simple MCQs but the structure is there to include any of Storyline’s graded quiz options or even something bespoke if the content required it.
- Adobe Illustrator CC
- Adobe Audition CC
Related eLearning Insight Posts
Learn how to build a crossword puzzle in Articulate Storyline 360.
Blending Fuse, the 3D modelling app from Adobe with Articulate Storyline we created a 3D character and linked the output to Storyline’s slider to create a rotating interaction.
David began his career in eLearning in 2000 after earning qualifications in Graphic Design and Newspaper, Magazine and Infographic Design.
He is passionate about creating well-designed and purposeful eLearning solutions and is a current Articulate E-Learning Heroes Super Hero.