Finite Runner Game

Hello all!

This is a short finite Runner Game I threw together to see how closely I could use Storyline to emulate a gaming engine. I'm using collision events (via Object Intersect) for the lose condition and created a light state machine so players can't activate a jump unless the full jump (itself a motion path) has completed.

I was going to wait for the next Challenge that involved games, but figured I might as well get it out there now. Enjoy!


8 Replies
Reggie Jose

HiI I created a state machine to switch back and forth between a few variables.

So when users Press UP:

  • It only works under the condition JUMPREADY is True.
  • It changes the variable/state JUMPING to True and JUMPREADY to False.

When the motion path of the jump completes, it sets JUMPING to False and JUMPREADY to True to allow jumping again. This way they can hit UP over and over, but nothing happens until after the motion path completes and resets the variables. 

Darren Heath

Love it Reggie, great example. I tried something similar a few years ago in SL2 before the object intersect trigger was released, that would have made things a bit easier in the development of my game then!

My demo version is a bit outdated now and would love to do a v2 using the object intersect triggers you have utilised. and next on the list was to randomise the objects coming in. Have you thought about that and how it can be achieved in Storyline? 

I have republished the game in SL360 and noticed that that key press triggers now dont function as they did originally. I have made a small update to this and the first 3 levels should work now although I have found it to be a bit temperamental depending on the browser you are using. I need to revisit the game fully and totally update it. Zone 2 level 1 introduces questions in to the mix to add in that learning aspect but I havent fixed these levels just yet but if you click on sonic the key press should work.

You can play the first 3 levels of the game here: 

Reggie Jose

I had issues with the images loading, but I attribute that to connection problems/permissions on my end.

Randomizing a value is way easier now, so (without testing) I think a good way to do it would be:

  • Create a number variable called RANDOM
  • Create a trigger that triggers an event, such as enemies or coins spawning and traveling into the screen on a motion path...
    •  When variable changes on RANDOM, under the condition that Random = 1
  • Copy this trigger and change the effect to be something else and condition to be 2,3,4,5,ect.
  • At set intervals (let's say every five seconds), adjust the value of RANDOM to a random number.

That should make it that every 5 seconds, RANDOM changes to another number. That number activates a specific trigger, such as spawning enemies. Five seconds later, RANDOM changes again and spawns another random event.