 One of the key applications of Cospaces EDU is creating games. In this tutorial, you'll learn the basics of designing and coding a parkour game. First, think about how the player will go through your parkour. Keep in mind that it isn't possible to jump in VR, so it might be best to design it in a way that doesn't require jumps. Games like this are played in first-person perspective, meaning that the camera's view is what the player will see. To help you conceive this when you create your game, rename your camera to Player. In this parkour game, the player will have two obstacles to pass without touching the ground. Whenever the player falls, they'll be taken back to the parkour's start position and lose a life. If the maximum amount of lives has been reached, it's a game over. But if the player manages to reach the goal before that, the game is won. Let's build a parkour before diving into programming all of this. To build your parkour, use the cuboid from the library's building blocks. This is a great object to create a track for the player to walk on. Place a small platform at the end of this track that will move back and forth. Name it and enable its use in co-blocks. Create a new co-block script and use the move co-block to define the platform's movement. To quickly review your work after programming, you can disable the player camera while building your space. To do this, open the camera's inspector and disable use as main camera. Hit play and watch whether your platform is moving correctly. Right now, it's just moving in one direction and not coming back. Let's change that. Duplicate the co-block and choose the opposite direction. Add a wait co-block in between and afterwards so that the platform stays still for a bit, giving the player a chance to get on and off. You want this code to repeat for the platform to keep moving. Placing it inside a forever co-block will do the trick. That's it for this part. The platform is now moving back and forth endlessly. To make the second obstacle, let's use a cylinder and attach a cuboid to it. Get a turn co-block this time to make the cylinder turn. See how the platform is moving but the cylinder isn't? That's because the forever loop of the first obstacle is never ending. You need the run parallel co-block to let different sections of code get executed simultaneously. Code the same behavior again for the cylinder object. If you want even more obstacles moving at the same time, click the small wheel to add tasks. Place the obstacles however you like and add tracks to connect them. Time to program this further to make it a game. Whenever the player falls down and touches the ground, they should be sent back to the start. Place a small object like a cube to define the start position and name it start position. Define a reset zone named reset area which will send the player back to the start position when they touch it. Then set a when reset area collides with player co-block above the other co-blocks to test what happens when they collide. Whenever they collide, the position of the player will be set to start position. Enable the player camera again and test whether it's working. To keep count of the player's lives, create a new variable named lives and set your player's number of lives. Change the variable by minus 1 whenever the player collides with the ground losing a life. It would be nice to show the player how many lives they have left, so let's use the text to display the player's lives and attach it to the camera so that it's always shown. To do this, open the object hierarchy and drag and drop the text onto the player camera. Place the text in a nice position in front of the camera and add a set text co-block just after a life has been lost and the number of lives modified. In the empty field here, add the variable lives to show the amount of lives left. Or even better, place a create string with co-block like this. Whenever the player collides with the ground, check whether they have any lives left. An if co-block lets you test your variables in a setup like this. If the number of lives equals zero, it means that the player has lost and the game is over. But if the player has some lives left, they lose one life and can keep trying. You may notice that the text only appears after the player fell for the first time. Let's show the number of lives as soon as the game has started by copying the set text co-block and moving it just after the declaration of the variable. There's one thing left, let's define the goal area that the player has to reach. Place a building block wherever you want the goal to be and name it goal area. As soon as the player collides with it, they win the game. You could also show an info panel to inform the player about their victory. Now you can add your own decorations from the library and give your parkour an interesting theme.