Introduction
We’ve been playing with Storyline 360’s random number variable again and this time we’ve built a Science quiz.
Aim
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
Where possible we prefer to solve any problems using Storyline’s native features. Yes, it’s possible to extend almost anything on the web with a bit of JavaScript (and we often do) but when working commercially, the stability of what we build is always at the front of our thoughts.
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 on the board corresponds to its own question slide
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.
Perfect.
High praise
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.
Tools used
Authoring tool:
Graphics:
- Adobe Illustrator CC
Sounds:
- Adobe Audition CC
Related eLearning Insight Posts
eLearning Translation and Localisation
Drawing on our experience, this article explores eLearning localisation approaches, from XLIFF files and Word translations to AI tools, highlighting their benefits, challenges, and how to choose the best fit for your needs.
AI Avatars in eLearning
Read our first hand experience of using AI Avatars in eLearning courses, and find out what clients really think.
How to continue numbered lists in Articulate Rise
16s video explaining how to continue numbered lists after inserting a new block in Articulate Rise 360.

David began his eLearning career in 2000 after earning qualifications in Graphic Design and then Newspaper, Magazine and Infographic Design.
During his time working in the eLearning industry David has gained extensive experience designing and developing eLearning content for clients based in the UK, Canada and the USA. To date, David has created eLearning courses covering a broad spectrum of topics, ranging from Pharmaceutical, Healthcare, Retail and Sport through to Pet Nutrition, Marketing, Sales and Tourism.
He is passionate about creating well-designed and purposeful eLearning solutions. David is a current Articulate E-Learning Heroes Super Hero.