Creating A Timed Run Challenge In Unity
Today I am making a challenge for my game, where the player must make it through 3 doors before time expires.
Today’s Objective: Create a player challenge where the player must run through 3 doors fast enough so that they don’t close prior to making it through.
Programming this challenge is actually very easy, since once it starts, it only has to trigger animations at predefined intervals. First I create a TimedDoorRun class, and add variables for the door Animators and the trigger intervals:
And next are the methods for detecting activation collisions and starting the IEnumerator timed sequence:
The script goes on a parent object, above all the doors.
The collider on the same object is the activation trigger which starts the run. It is positioned at the start of the corridor. As for the timing intervals, they are of course determined through much trial and error.
The yellow box is a death zone which is enabled once the door closes, in case the player doesn’t make it, thus respawning them.
Optional: Add a warning message at the start:
I’ve decided to add a brief warning for the player to let them know what’s coming.
To do this, I need a few new variables, and a new method which will slot in between the existing 2 methods: