Create 2D video games with Unity | Muhammad Umer Najeeb | Skillshare

Playback Speed


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Create 2D video games with Unity

teacher avatar Muhammad Umer Najeeb

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

27 Lessons (2h 21m)
    • 1. Course Introduction

      0:53
    • 2. Downloading Unity

      1:13
    • 3. Installing the Unity

      2:50
    • 4. Opening and Creating first Project

      0:59
    • 5. Unity Interface and Importing Assets

      2:32
    • 6. Setting up first Scene and Background

      3:53
    • 7. Making Animated Background

      4:47
    • 8. Setting up the Player

      4:31
    • 9. Player Hurt, Jump and Run Animations

      3:58
    • 10. Control Player through Script

      9:47
    • 11. First Platform Top Spikes

      4:45
    • 12. Player Falling Platform (Default Platform)

      3:39
    • 13. Rotating Platform

      4:16
    • 14. Chain-Ball Platform

      3:48
    • 15. Chain-Ball Platform Line Render Script

      6:21
    • 16. Fan Platform

      3:30
    • 17. Player Interaction with Fan Platform Script

      4:01
    • 18. Moving and Destroying all Platform Script

      7:33
    • 19. Player Controller Idle to Run Animation Script

      6:33
    • 20. Player Controller Idle to Fall Animation Script

      14:28
    • 21. Player Controller Hurt Animation Script

      8:35
    • 22. Player Controller Fan Push Script

      4:23
    • 23. Spawn Platform Script

      10:17
    • 24. Spawn Spike Ball Script

      4:11
    • 25. Setting Up The UI Elements

      5:02
    • 26. Time Score UI Script

      4:39
    • 27. Panel UI Script and Good-bye

      10:04
  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels
  • Beg/Int level
  • Int/Adv level

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.

15

Students

--

Projects

About This Class

Take your first step in world of billions dollar gaming industry. Don't know how and where to start your journey then you have come to right place

WELCOME TO UNITY 2D Jump Down Platformer

Who is this course for?

This course is designed for students who knows how to run computer and a little bit knowledge about programming but not necessary so ideally this course is for absolute beginners so if you don't have any prior knowledge then don't worry I am here to help you.

One thing the skills what you learnt from this course will help you in upcoming 2d advance game projects.

What you will learn from this course

First I will show you 

1.How to download and install Unity

2.How to make a 2D Project in Unity

3.How to import Assets in Unity

4.Basic Interface of Unity

5.Building our level in Unity

6.How to make Animations in Uity

7.Write Scripts for Different Platforms , Animated Backgrounds and Players

What You Will Learn From This Course

After taking this course you will have basic knowledge of 2D Games and Unity  Engine

What are you waiting for Let's Get Started

Meet Your Teacher

My name is Muhammad Umer.I have done my Bachelors in Software Engineering  and now working as a full time game developer for past 3.5 years. I am founder of GlistenSoftz mobile game company.

I have worked with almost each technology but found Game development and motion graphic as the most interesting field and I am still Learning Game development. As it is a vast field and learning is a never ending process, Because i was once a beginner and i am well aware of problems that most beginners face and one thing is for sure I am very good at explaining things.

See full profile

Class Ratings

Expectations Met?
  • Exceeded!
    0%
  • Yes
    0%
  • Somewhat
    0%
  • Not really
    0%
Reviews Archive

In October 2018, we updated our review system to improve the way we collect feedback. Below are the reviews written before that update.

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.

Transcripts

1. Course Introduction: Assalam-O-Aliakum everyone. My name is Muhammad Umer and I am a game developer. I have been developing games since 2017. Currently I am running an indie studio name as glistensoftz my company has published more than two games on Playstore. In this course, we are going to create a small game. What you will get from this course, Let see. In this course we are going to develop a small game where you have to save your character from falling from the blurred farms and also award the object goes. Once you hate, are far from the blurb on, your game is over. In next lecture, we are going to download the Unity and install Unity and then start building of a game. See you in next lecture. 2. Downloading Unity: In this lesson, we are going to download Unity, open your browser and go to main website of unity. Just type in your rotor unity. And here you can see unity.com. Just click on this and download. You can download. Just click on Get Started. Head are different license Plans and Pricing. This click on individual and download personal. It will ask you, are you returning users are first-time user. So if you are a returning user, just click on Go here and dequeue the Unity Hub by clicking on this, download Unity Hub. If you are new user, symbolically candies and it will ask you fall term and condition, just equity and download. And it will also ask you far download the Unity Hub. So just download the Unity Hub. Weird fall completion. 3. Installing the Unity: As you nerdy hobbies, donor did negotiable folder where you have downloaded the Unity Hub, just simply installed Unity Hub and choose add up three or you want to install this as usually we select the default thoughts locally C. And we'll finish. Now run the Unity Hub. Allow the access. And here you can see install unitary 20. It will ask you for Unity 2020. So simply keep in reserve. And here you can see try hub version may be alerted. Just simply go to install and click on this and select Unity two and D. Three. You can see here is an option is LDS Church mean long transport? They're dirt mean the engineer's almost table. There are a few crashes. You can either download the Unity 2020 Ru energy 2019. You can also download the Unity 2020 run, but it didn't return to these. We just saw there are possibly some crashes, so simply just click on your energy 2020. Here you can click on Microsoft Visual Studio. You can also uncheck these if you want to use other Coordinator, like Visual Studio coordinator does. Our records are at them. Anything you want. But I I'm I will use Microsoft Visual Studio. And for which polar form you want to use your nerdy. On which Pollard form you want to release your project. So we will release our project on Android. And if you want to select iOS, so far time being, I just select Android cameras and click Next. I can infer conditions. And just next has dk and, and legalized term. And so the installing of and they're downloading and installing and offer a unity. He's starting Soviet far the Finnish. See you next lecture. 4. Opening and Creating first Project: In this lecture, we are going to create a project. I hope you have installed Unity correctly. Now open your nerdy hub and click on New. And as we are going to create our 2D blurred farmer, select the template 2D and named the project. So I would name it. Jump. Don't blurt far more. And select the location where you want to save your project. I am going to save it in local disk D and click on Clear. Now, unity is creating and setting up the project. In the next lecture, we will see the basic interface of unity and start building our gear. See you in the next lecture. 5. Unity Interface and Importing Assets: Welcome back. Here is the main interface of unity. Here you can see the name of your project. Has we name it jumped on platformer disease, the heirarchy panel. We're the GameObject of power game will be placed here. Rather it is a Q. Characters uprights, audio files, all the teams and all the detailed relevant to a gameObject. We will be shown here in inspector man. I will not covered in depth. As I use Zoom dead, you have a basic knowledge of using Unity interface. Now I am going to import our acid. So you have download the files, now go to your hazard and extract data hazards. Now, simply select all the USSR and drag and do unit. As you can see, the bag grown. The correct term. Different platform which we use to build our state. And pref will be in the asset folder. Now, before we start developing our game, IE, want you to show something, click on File and click on various setting. And as we have selected the platform, PC, Mac, Linux has, we are going to develop our game for Android. Can select Android and a switch to platform. For just time being, I just leave it too just as PC. And now go to game and select the aspect ratio. Here you can also add your custom aspect ratio, but for time being liberty, free aspect. In next lecture, we will start developing our stage. See you in next lecture. 6. Setting up first Scene and Background: Welcome back. In this lecture, we are going to set back their own far, our game. So first of all, select the camera. And here you can see the projection of camera as we are going to develop our 2D game. So we said the projection of camera orthographic and set the size of camera and do it. Next thing, we are going to create a 3D object card, card and name it background. Now select the background and set the scale of x into ten and scale of y into 16. Null. We are going to create our median. First of all, I am going to create a folder and name it. Remember DeLorean. And now open the material folder and create. Didion. Name it. Background. Here you can see our material is created and I-I want to embed our texture on it. Plus snowfall, select your background. And here you can see the resolution of our background is 6400 to 64. But here you can see in the day it is a 100 pixels per unit and I1 to show 64 pixels per unit. So simply change a 100 and 264 and click on apply. Now go to material folder and select your material. And in shader, select unlinked, select Texture. And here you can see I didn't not have applied any texture. And all selected. And select your background. And just simply double-click. And you can see our materialise clear if by one blue jeans dialing value. But here it will not shown. Just not simply select the background texture and apply on it. Here chord. Now if I adjust the value of x and y, you can see the value of our text series dialing of poverty, but I want to make it repeated. So again, go to your background folder, select background, and in read mode, select the repeat and click Apply. If I select the background. Now, in Cerda, IF IT the value of x styling, you can see different values are. So for Diane being said, the value x three and y four. Okay. Here is the background of our gametes said, but I want to make it animated. So in next lecture, we will create our first GREP and make it our background any rigid. See you in next lecture. 7. Making Animated Background: Welcome back. In this lecture we are going to animate our background through script. So select the assert null, create a folder and name it. Scripts. Now open the script folder and simply created us C Sharp script and name it. And the mid. And the Ameritrade back grown. Now double-click and open your script. Here is the script. You can use any editor by default, I am using the reuse. If you want to use any other editor, simply click on Update and click on Preferences and external tool. And we can select the Visual Studio if you are using other tools, like we use Studio Code editor, Atom, Sublime, any ID you want to use, null. Go to your script. And here I am going to declare some variable. As I want to animate our background. Handy, you can see I have embedded our texture on it, on our material. So I am going to declare a variable and may emerge merit. Next thing I am going to, as we are developing a 2D game, and in 2D, there are two axes, x we are dealing with two x is x and y. And I am going to declare our vector. And the mid movement. As I want to move however, background. Next thing, I'm going to declare a public vector, Bu. And obviously it has some speed. Perfect. Now, as I have declared the material, now, I am going to access it to get saudi get component. They want to render dot map in a method. I have to update mad, dark main deck ship offset, movement. And movement plus equal to speed, at which speed, and into time. Dot del dot time. Now, simply save it and go to beg you NAT, select your background and click on Add Component and search for animated background script. Here you can see different values for our game. Script on you a few again, see if I click on play and let things happen. Now if I select a value of minus y minus 1, now I click on Play. Here you can see our bag that onlys any McDade. Their seat far. This lecture, in next lecture, we will start building our character movement. See you in next lecture. 8. Setting up the Player: Welcome back. In this lecture, we are going to set up our player. Go to your asset folder. And here you can see the folder name layer. Here are the also provides of our player. And we are going to make some animations, but hover player. So select the folder hazard and create a new folder and name it. And the mission. As you can see, we are developing, we are developing our jump. Don't blurt FADH mud and we should know. And our different standards of poverty. As soon as we launch our game, our layer would be no higher density. So we are going to create an idle animation for what lid plus 2 FADH. Select your folder and go to layer. And here you can see the iron does KDE either spreadsheet up of a bilayer. As you can see here, if the size of AVA supplied of size of our period, there it is 32 over 32 pixel. So here is the pixel. Body units are a 100. Simply change it to 32 and select the changes brighter, more multi-polar, and also favored a mood change and go born November. Simply apply. Now, click on separate editor and click on slice and select into. Third to do Hindu 32 and simply slice. Now click on Apply and Close. Now one of the subreddit and drag it into, head out and keep ended pen name it, but later. Okay. As you can see, how our player is. No, next thing, what do we are going to create an emission font of our blood? Go to Window and select the option animation. I can press the shortcut key, Control plus vk. And the mission. Now adjust the animation. Just like this. Now, go to select the animation forward and just select the layer. Click on create, and insert into animation en meme. Hire them. Okay. Now go to the Select Folder bilayer and select the idle animation. Now, select, can hold Shift and select all the surprise of how are the lender Michigan, Penn, simply drag it bu, any mission. But here you can just sample at least 30 FPS. If I press Play. You can see our bilayer is in iodized. Perfect. In next lecture, we will create other animations for our blood, like Devin jump animation, jump animation, fall animation. Hey Danny, mission. I am giving your dos that you can get an image on your own. See you in next lecture. 9. Player Hurt, Jump and Run Animations: Welcome back. In this lecture, we are going to create animations for our player. So simply select the asset folder, select player. And Jane does surprise of our player. So first talk on, as we have pretty good Idle. Now, we are going to create a fall. Simply select it and change it into 32. And filter mode into known as the father. And he made him defaults upright only contain one surprise. So leave it as it is. Now. We are going to select the Run and changing into 32 and simply apply. Now Sprite Editor, sorry, changes prior motor domain. Now if I now click con slice, apply and and the laws and emission, which is we are going to hurt. You. Just leave it here it is done here. Simply select it and change it to 32. Multiply and Sprite are new data and slice and click on Apply and perfect. Now we are going to create animations. So select player and blair that click on this and create a new clip and cleared layered heart. Save it and select here. And simply drag these into and set the frame. If I bleed, you can see how a player is getting card. Again, select that layer and create a new clip and select fought for and select the fall and simply drag it. Has it contains only one dream. If I believe. You can see the steward of our priorities changed. And last animation against leg doublet, clear down new blip and get a huge x1. And select the emission spreadsheets, Select on, hold on, Shift and drag and drop and change into and bring the if I play. As you can see our validity, so downlink. So here you can see all the animations bilayer then if I play, if select hard, as you can see, higher than bilayer, run animation and blood from information. In next lecture, we will create the script of power player. See you in next lecture. 10. Control Player through Script: Welcome back. In this lecture, we are going to create a script for our player. So select as CR and select the script folder and create a new script and name it. But layered controller. And double-click and open the player controller script. So as we are developing our 2D game and our player will move into x-axis. And if I press the play JAM, ours fall, the overplayed fall. And it will be in y x is, so VDD, VDD x, x is then y, x is, obviously our player, has some mass and also it has some gravity. It has some movement speed. So first of all, we are going to create, we are going to initialize some variables and stuff on. And I'm going to initialize a private rigid body 2D layer. And obviously it has some. And you mentioned private and the mater and and m. And it also contain some speed, public, float, spade. And as you can see, our player, it will move into x-axis. So public. You can see it. X axis and grade levels. As I have declared these videos. So I have Bu access, these will give me a buzz layer equal to get component of our DOD and bilayer and nim heap quarter to get component and numeric data. Now I am going to create our new method, void. But layered movement. And this method is velocity equal to input dot. Get a job. As you can see, our player, we will move into horizontal. This is horizontal axis and this is where it, what it should do. But RB dot velocity vector to x x c is velocity and speed. That's me, add speed. However, ladies, moving x-axis and put a layer audibly, dark vision loss dy and y, X is null. I am going to call this method in the upper data method. So a layered or movement. Just change the name. The layer. And the layer. Simply save it. Now, go to Unity editor and select player. If I press Play. As you can see, nothing's happened. Another thing, first of all, I have to connect this clip to our player. So search for player controller. Here you can see the speed and x velocity. So just to make it private, as we don't forget it. Okay? If I put the speed of five and now I press play again. You can see nothing's happened. If I press the keys, that is any, I didn't not attached to the body to our player. So select the player. Click on this panel, search for rigid body 2D, and go and select the concerned or income. Now if I press Play, as you can see, our player has now some Mas and fall, the fall of the grown. So for time being, I am going to select the background and just bring it and select Plan qi return edge collided and make it large. And if I select the head, chin to chest, if I press the Play button, again, our polarities far as our player did not have any collider. So again, I am going and search for capsule collider. And if you have straight edges like this. Now if I press the Play button here you can see and our vector is moving in a horizontal direction, which we have set it here, 40 center. You can also press ARD are right arrow, left. As you can see, our directory is moving in just one direction at a PDS nurture AND gates that action when I press the left arrow. So what will we do? We are going to write a line of code. What do you do? If x, x C's velocity is not equal to what we will do, it will do transform local scale equal to new vector, vector, sorry, x velocity. As we are declaring a vector, it's read, it contain three axes, X-axis, X velocity and y velocity and 0 loss into 11. And simply now save, sorry, I just got a hand. Now if my breast blade up. Now if I'm, as you can see, if I press Play, you can see now our character is changing it. As you can see the direction. See you in next lecture. 11. First Platform Top Spikes: Welcome back. In this lecture, we are going to be some blurred form fought over again. So select the S sub folder and select up blurred some folder and select the spikes. Here you can see that prior dopamine spike, and you can see the resolution is 16, induce extreme. So simply select and select the 16 and into the morning to porn. No filter and apply and drag. Blurred form into and name it. Okay? Now we are going to urge is just n scalar y. And as we are going to rotate, and you can see we are changing the value of Z. So select and group minus one here. Now our district, which is here. Now, create a game object and spikes and make that gyre of spike no, press Control D to duplicate these. Simply select hand, are these breaks. Now here I am, falls forward me. Read to you. Now I'll select these spikes, bleak and such fraud. Polygon collider 2D. And select the option Use by composer. And again, such fraud, composer collider. Totally perfect. So here, when we start the game and our player really start moving upward, as you can see, our collider is fall. Now, select these, select all the spikes and gt Barbie changing boots tactic. Now if I press play here you can see man-made start play the game. I wouldn't vector start moving upward and we have perceive our grip but from the spike. In next lecture we will build other blurred form fought over again. See you in next lecture. 12. Player Falling Platform (Default Platform): Welcome back. In this lecture, we are going to create blurred fam means basic platform on which power player will fall as we start the game. This, let's see. If we press Play here, you can see our play it is fall on this platform. So for this, go to S it select the platform and falling platform. Can select the falling player. From here you can see the size of their family, 32 into ten. So convert a big seller do 16 and sprite mode to multiply. And furthermore than do and apply open Sprite Editor. Pelicans slice, select grid by cell and change into 32 and do then Press lies and Apply and Close. Now simply drag the blurbs on and do the scene. I am going to just deleted. Hence lactate, blurred song and z name it falling on. You can also see the far left side. Perfect. Now I am going to create an emission for this platform. So simply select the animation packages and bring it here. And now select the platform and create and name. Endo has searched and go to Assets and the emission and make a folder and name it. Blurred phone and the missions. And the far left Pfam limitation. And save it. Now select these and ring into timeline and change into. If I press play. Here you can see next thing, which we will see. If I press Play. You can see our player crosstab blurred from. So select Upload farm and click on Add Component, dive forward box collider, 2D, and zoom in and just add data platform. Now if I press Play, you can see our Pleiades. Just. So I am giving you a dost. Create a duplicate for animation for other polar bond, just like fan, rotating platform and spike, BAD. See you in next lecture. 13. Rotating Platform: Welcome back. In this lecture, we are going to create a new polar form and it would be a name as rotating platform. I wanted to paint it. I would also color balance per farm. Select the asset folder, select the platform, and go select that rotating platform folder. Here you can see there are two types of dextran are two types of supplier teeth. But I won't earn going to, I'm going to select gray. Select the gray and select eight to 16. One finger more than 2.2. No filter. And click Apply. Sprite Editor slides and brewed by cell. Here you can see and teens tend to do and do it. Here you can see. Now our sprite in the Boomer dependent press Apply Close and now select the platform and drag into heterodox dependent and namely visual thing. Blurred phone. Perfect. Now selected and I am going to create animation folder, create a subfolder and emission and blurred form and emission are any other folder on matures CV your animation and the moon rotating platform. Perfect. Now select all don't shift and drag these sprite. And third, different. If I press Play, select up their phone. Here you can see our blurred form is rotating. Now. Next thing. Select the rotating platform, Add Component and search for Box Glider 2D. You can adjust the size of just observed value of boxcar that if I press play. And you can see our player is on there too. But what I want to do is I want to move in. Our player fall on these, these blood from a start date. And our player also can balance on here. So far these select the rotating platform, the connected component, hinge giant, 2D, null go to down, and here is the motor speed and change into a 100. So if I press play, here, you can see our player is fall. Again. Check this. As you can see. Just saw what if I want to set limit for this? So again, select the rotating and use limit and separate the angle. As you can see. Now, if I press Play, you can see nothing happened. But if I go this side, the angle is 45. So I recommend to you you should practice and play with these option so you can get better desert. See you in next lecture. 14. Chain-Ball Platform: Welcome back. In this lecture, we are going to create another blurred form. And IE got blurred form, spike ball, blurred font. So go to asset folder and select the bread firm and spike bump. Perfect, No, create an empty object. And we read chain. Spike. Perfect, now selected and change into 16. Apply, also select id and name it 16 and apply. No, drag it and the DEJ and simply also drag it. The adjective. Here you can see. And chain. Just like this. What I am going to do, I want to DES, des, this ball is rotating, are attaching a dashed chain and bond is bendy limb just like this. So for this one I am going to do, I'm going to do select this spike bug and search for this change giant today. Also, I want to connect this trend Jain TO this chain. So for these, as you see the option of the stranger, we have to connect into a collegial VD VT RigidBody Taiwan to connect it with this chain. So select the gene, and this gene is not pod as you've already first of all, search for rigid body 2D. And now select the spike and drag this teen into distance. Just like this. So if I press Play, you can see our bodies fall off. So what I am going to do, just change the rigid body into kinematics. Now if I press Play, as you can see, the chain is protruding i1 to rotate, BAD. So far this change, the type of change into kinetic and bothered to dynamics. Now press play. And you can see our ball is hanging with the chin. See you in next lecture. 15. Chain-Ball Platform Line Render Script: Welcome back. In this lecture, we are going to create a line between these chain ends by pod. As you can see if I press play. Here, you can see there is no connection between it is connected through a giant, distributed giant. But I want to show that our chain is connected with this. There are different ways to create a chain. You can also copy this point, duplicated multiple times m connected it. But I am going to show you through line renderer component. But first I have C. I have seen an adder that the size of Pauli's very small. So just go to Select Pollard form, spike ball. And here, just see change in Book 16 and apply. As you can see now, all the sides of Paul is bigger than the chin. Now, first of all, select the spike platform, click on Add Component and search for line renderer. Here are the options for line renderer. And you can see we only deal with color, the very top line. And the size of line. D size is basically the number of connections. You can see, just like in x-axis, y-axis and z dx is, as we have only two GameObjects. One is chain and other despite PBL. So I want to connect the gene with these bite bottle. So I will keep the size only two if I increase the size five. As you can see, that size is five. Just see you can, when we connect multiple objects. So again, I will set the size to now, go to Insert, go to Scripts folder and create a new script. Name it. Chain, gender. And selected. And click on Add Component and the such fraud chain, render. Now or double-click and open. Now, we are going to initialize some variables. First variable is built-in line renderer and name it light. And there is public Transform entry point. You can also see start point. As you can see, the liner and distort from here to here. And another variable is transformed. Exit point. As I initialize it, I have been guaranteed line equal to component line renderer. Now in update matter, I have to set the position and index. So line, dot set position. First parameter is index, which is in this case is 0. And are there is entry point, Transform entry point. Next is again line dark. Set Y position into index in OOP, exit point. Just entry point, dog position, mean position of entry point and position. Perfect, no secret. Now, here you can see we have to send entry point and exit point. Just simply select chain and drag it here and also spike and do exit point. We also said the top. Just if I press play, nothing's happened. Something is missing. Just we have certain material. And if I select this, now if I press play here, you can see the you can also adjust the weight. And you can also set color from here. As just for the time being, I just keep it white. So there's a disconnect for this lecture. See you in next lecture. 16. Fan Platform: Welcome back. In this lecture, we are going to create our loss platform fan platform. So click on assets, go to platform folder, click on fan, and select the fan. So simply just convert it into 16 pixel per unit and filter mode into no filter. And then apply. Also click on Sprite Editor, click on slice, select type automized, automatic, and press slice and apply. And close it. No. Drag the Fanning lucky panel and select and rename it. Fen. Blurred form. Perfect. No, drag the animation just here. And select the fan blurred phone create. We are going to create two animations as CERT, animation, blurred form. An emission plus g is Fen hurdle. And if I press Play, as you can see, families in our desert. And also know Select Fan and create a new clip and Fen on. No, select these and just drag these into timeline. And if I press Play, as you can see, the fan is rotating. Now, what we are going to do, just drag it here. So here we are going to write script for our fan and also the our platform. As when we press Play. Here you can see only our background is animated. We all show one dead. When we start to lay press Play. When our player jump on fan. Saudi, first of all, select and select box collider. 2d. Click on air and heard just now if I press Play, when our character fall on fan, what I am going to do dead the fan. The fan is turned on. Also our platform also start moving. So in next lecture, we will write this script for our fan and also for our platform. See you in next lecture. 17. Player Interaction with Fan Platform Script: Welcome back. In this lecture, we are going to create the script for our platform. One is for our fan, has been our director, fall on the fan. It would turn on and other ease, the player, our platform, start moving upward. So go to insert script folder and create a new script and name it. Blurred form. An emulsion. Perfect. Now simply double-click and open it. First of all, we are going to create an animation for our fan. So what I am going to clear our private and emitter n and m variable. And as I have initialized you to, I have to extend it equal to get component. And they may know I am going to create a new method, name it void on collision. Enter to the debts mean when we start the game and when our player enter and collide with the fan, what will happen? The fan start or not. If I'm going to write a condition. If boolean dot came object. As our player is also a gameObject.com tag, compared their tag of what Player Tag, what it will do it fill, blade, fan and emission, fan and name, dot play. Which animation? As you can see, if I select the animation, select fan, we can imagine fan burden on an emission. So just fan on. Perfect. So just save it. And select fan and the component, search for the blurred form and emissions. Now, if I press Play, as you can see, just, just select the upper layer and take the bilayer. So if I press play here, you can see our fan is turned on. So that's it for this lecture in next lecture, and we will write this group for our platform. See you in next lecture. 18. Moving and Destroying all Platform Script: Welcome back. In this lecture, we are going to create a script for our blurred form. So select as Sir, go to scrape and clear, tenuous grip. Moving, platform. Double-click and open it. So as you can see, when we start game, our blurred bomb start moving in upward direction. And that meaning y-axis. Also, these blurred form has some speed and move it some speeds. Sodium movie, some spirit, soul parties. What I am going to do, I am initializing a variable vector three and name it movement. And also public. Float. A rich speared. Another thing. When we start game, our platforms started moving in upward direction, in y direction. So movement dot v equal to speed. I am going to create a new method name, blurred form. Movement. For the dual, we have a vertical, it do transform. Position doesn't equal to movement into time, dot-dot-dot time. Saving. Now, this script to all double-layered form. Select default blurred form, rotating chain and this such fought moving their phone is going to set the speed. So as you can see, when I press play and have fun, sodium call this method into their reform movement called K. Now, press Play. As you can see, our platform start moving in upward direction. But here you can see our blurred firms start moving in finite state. What we want to do is that when our polar form, because these spikes, they are destroyed. So for this, what I am going to create an object GameObject naming boundary. Boundary are dared then a solid. They're there. And just drag it here and name it color blue, or just read. So go to scripts. And here I am. We're going to work the dark GameObject, name it boundary and start modeling to redo dead. Our boundary equal to GameObject, dot, sorry, K, mock object, Dart, find. What? They're damned here, which we have dead end. And in blurred form movement. If what transform the dot, the dot y greater than equal to what? Boundary? Dot transform? Dot position. What we do. Best. Game object. Sorry. Here you can see if draws bomb dot, dot, dot. Here, you can see molding, not boundary here and they're damned. Dead end. Um, no, no, sorry, sorry. Foundry dot y, dot. Perfect, nose heavy. Now I'll go to unity. Now if I press play. Here, you can see the objects are getting destroyed, then the debts that are ven the crowds, the dead and perfect. Now, There's a FAR be selected. In next lecture, we will apply the remaining animations for of a bilayer as when our player start fall on these, what will it do? It evaded, start running, jumping and emission. See you in next lecture. 19. Player Controller Idle to Run Animation Script: Welcome back. In this lecture, we are going to apply, run any mission for our corrected before we are going to apply it on an emission alert, fix some errors. As soon as I E Lee I press Play button. Here you can see when our rotating platform collide a Vdd, the above spikes, it did not go smoothly. The reason is they're just check, select the spike, spike, spike and go to the composite collider 2D and check the option is triggered. So when I press Play, now you can see when our rotating platform passing through the spike, it did not collide with that spike platform. Now, select the layer. And first I want you show a go to Window tab and select an emission and bring the n emitter tab. Here you can see all the animations of our player. Similarly, you can also check the animations for default platform, rotating platform and fan platform. As you know how to create animations, you can see the animations in an emitter tab. Now select the layer. And here we set some parameters and conditions. Let's see. Let me zoom it. And as soon as we launched a game, our player is in idle state. I want to change the state of our player from either do run. So for these, I have to set some conditions. Obviously, you know, the speed at idle is 0 and then we start walk or running. Howard speeds different. So for these, first of all, I am going to create a flow to vd able and name it velocity. Perfect. Now, what? Now? I am going to set some condition for this. Select the idle press mole. So right-click button and make a transition. And similarly now select the upper layer on and make a transition from run to Idle. Now, select the iodine. And from idle to run select this transition Has Exit Time 0. So I do not want any delay in transition from bilayer TO PIDA. So here you can see our tab of conditions. Click on Plus icon and select them with ASD. What it should do if t is greater than 0.1. If the velocity is greater than 0.1, what it is you do, how would you start running? And now select from run to Idle state. Similarly just has exist trim 0 and set the transitions version 0. Now what do you do it we'll do set the condition if the velocity less than 0.1, our player start. Ngos stayed from John Doe. Now opened up layer script and gourd Buddha clear movement method. And here said the right, just a line of code. And as you know, that we have initialized the animator. So just by Lear and him, dark, set for slope, as we have become medium been floored. Set for Lord. And pause the bed I'm going to name as ritually, name is it velocity V log t? And what do we do? We are going to write down mad function met F dot m sub s. And but Lear, rigid body. Now we are player or B dot t dot x, x axis. Now, save it. Now has won the game. Just see, when we press the play, our player start running. Here, I want to show you, just bring it here and check the states. When I press play. Here you can see our player changes condition from bilayer, harder to run. So in, That's it for this lecture. In next lecture, we will set other animations when our polarities fall. When our player is getting hurt. See you in next lecture. 20. Player Controller Idle to Fall Animation Script: Welcome back. In this lecture, we are going to set some conditions for our, for our player and emission from player to player fall and player R12, player fall. First of all, just, I am going to bring it here and also Game tab here. And here you can see we have to search some condition for our player. When will be our player is in, Falls, are in idle state. So first of all, I am going to create boolean variable and we'll call it players on ground. Perfect. So as you can see, we are making a game. Jump don't bled farmer. And our player has some states. Then as soon as we launch it again, our player is on a grown and start in. Remaining idle state are when we press keys, it change in state Farm. Either do ozone. Now I have said some condition. When will our bilayer ease in Falls State? So first of all, make transition from bilayer either to fall. Now select the state player idle to fall, foster father exit 0, setting 0. So here, set a condition clear on your own. If our player, if player on their own, if these condition is false. But earlier on their own, if this condition is fall, what will be the state of overplayed its mean? Our player is falling. If player on regrown. If this condition is false, obviously, it's mean that our player is in, falls to it. And if just make it animated 0. If player on your own, if this condition remains true, It's mean that our player is in idle state. Our maker transition from player one to player fall. So if bilayer on ground, if condition is false, it means that our bilayer is falling not on their own. If played on groan, if this condition is false, It's mean that our player is in fall. I will not make transition from bilayer fall to play it on. It's, the reason is that our player V naught fall. Our blade will not run in a year. So now what I am going to do, I am going to, to write some code for this. So first of all, go to bilayer movement math operator method, and here type. What? First of all, I am going to create our variable bool, and I will name it grounded. It will check that our player is on their own, are not. So for these go-to player and create a game, a game object, empty object. And you meet bilayer on. I'll go wrong. Okay, perfect. Now go back to script. And here I am going to initialize three different kinds of variable. First of all, I am going to declare a variable name public game object, and which gameObject day will play or on ground. Player. On ground. Okay, next, I am going to declare public layer mosque and may meet Polaroid form Layer Layer Mask I will discuss in later. The reason is when I will apply the IV and select different layers. I will show you via IM. And declared this variable and another object, layer, Saudi public for low shared, yes. So first of all, go to scene setting. As soon as we launched the game, we did not set any condition dead. I vet that our Pleiades on grown in IR. So for these we are going to create, we are writing v2, check that our player is on a grown are not. So in update method, I am going to declare just, you can see here I am going through grounded equal to fill. 2d, sorry, six, 2D dark, overlap, overlap, circle. And here I will pause three parameters. First one, nice layer. First one means layers on grown and grown. And it took, sorry player on ground, dot form, dot posey. And at 30 is radius. And last one is this one platform, layer, blurred form, layer. Sorry, pillared farm. Perfect. And they don't want it. What I will do, I have paused a Boolean variable grounded and it will check dead. It will draw a set of eight. When our capillaries and grown interval draw a circle. Tell us, dared our polyenes on your own. So here I am going to create a void on just check these onDraw. Gizmo selected. And gizmo dark-colored equal two colors, dark green and gazes more. Dar, draw fire. Sphere and pause pedometers. But layer on ground. Layer on groan dot, form, dot position. And it's GOD S. What did you do? It will draw a sphere around our player. And it showed there whether our player ease on groan R naught. Now go back to Unity editor, editor. And here you can see in script, there are three new options. As you can see here. And Polaroid from Lear. We did not select, create any layer. So first of all, I am going to create our layer, new layer and name it. Wrong. Pillared farm. Grown players on. Select player and select grown, blurred form and play it on your own, check needs and just pause this parameter here. So here you can see when I press play here you can see severe is 380 dot on our player. Just decrease your size. And select a player on a grown and change its color from green and bringing it just here. Okay, Perfect. So here you can see an option. Just go back to script and make this public. And press Save. Now, go back to Unity editor. Here you can see when I press Play, Just, sorry. Select these Blair found before rotating, fan blurb and also gene. They're grown platform for time being, I am going to remove or scrapes or that it will not move. I want to show you something. Just see. Here you can see grounded is unchecked. It mean that our bilayer is in here as soon as when we press Play. You can see that our player is grounded state. And when I press just fall, you can see this option is unchecked. Here is enter the thing which I want to show you. As soon as we launch the game. Our blood isn't false state that is any dead. We did not change it steered so far these go to beg, go back to code. And here, just type what Lear and Nim, bilayer and Nim dark set, Bool and pause. Reach parameter, this parameter which we have a layer on ground, police on Chrome. And which one? This parameter boolean grounded, go wrong. So save it and go back to our data and press. Here you can see our player change its state from fall to idle. And you can also see that our player is grounded. Know, when I fall off the blurred form, you can see these will be unchecked and our player changes state from either do. For here you can see Derek for this lecture. In next lecture, we will apply our last animation there, the animation out heard animation. See you in next lecture. 21. Player Controller Hurt Animation Script: Welcome back. In this lecture, we are going to set last animation for our bilayer. So go back to animator. And here you can see our last animation player heart. So select any transition from any state into play or why I select any state, why I did not connect the plyr hard to play a Run idle our player fall that easily in the dirt. Our player can be die. In any of these three tiers. Whether our player is in runs to it and it will collide with the chain spike platform. It will die. Our played forever. Player will be in Art Institute and moving as we are making a 2D game upward. And our player is, I am an artist and any platform is moving upward and collide with these bytes. Our player can be that. And similarly, our player is in, falls to you. And suddenly our x-bar chain spike ball, a blurred for me is appeared and our player polarity and die. So go back to animated, make us change, go to Setting and make that transition times 0. Here I am going to create our trigger and name it hard. And select the transition state and set the trigger player are no. Now go two player controller script. And here I am going to declare our VDI Boolean type variable, name it bilayer hurt. And also here I am going to declare a method wired bilayers. Death. And pause these spirometer, this player hurt equal to true. Vendee method will be called. When our player get hurt. These Boolean variable will be true. And then this will be true. For these, I am going to create our trigger private word on Trigger Enter 2D and set the condition, if, sorry, if Colombian.com tag compared tag, spike, what do you do? We will do it will call the animation Police. And M dot set triggered. Set three triggered which one? Which we have created a parameter bilayer heard. So hurt. As soon as we launched the game and when our player collided with the tags spike, we will see how we said that tag for different objects, gameObject. So whenever a player collide with these bags, Pike, our player Heart animation will be gone. So now go back to editor. Just Control S, save the script. Go back to her editor. Now, select the layer. Go back to animation tab. If you close it, go to Window animation. And let's let the first step and ImageNet or Control plus 65 shortcut. Now go to animations of player and select hurt. Here you can see the animation of our player getting her nose, select the loss frame. And here's aired event. And go to function called bilayer that. So as soon as these condition will be true when our player gets hurt. No, go back to Scene. Here. I want you. See our difference. Just launch the game and foster fall. We have unchecked t. Okay. Now, press Play. Just see. Nothing's happened. That ease any is dead. We did not set the tag for our object. Now, select these and create our new tag. Name it spike. And save it just the, the name which we have paused the spike. Here you can see. Just look at this now, press play. And that things happen. Oh sorry. I did not selector the egg. Now press play. Here you can see the animation of our player getting hurt is core. Here you can see the difference again. Just press play. And here you can see our player is getting hurt. Similarly, just four days player from when our player collided with these, it will also get her. So select the pipe pal and here are circular collider. Just select it and press hand registered and change it. Tag from contactus pike. And just see our difference. Again. See the difference. As soon as we launched the game when our player, sorry, just again, press Play. When our player collided with the ball. The animation of getting hurt is not trigger. The reason is we did not check the option is triggered. So Slack is triggered. Now see the difference, press play. And when our player, and it hurts. So that's it for this lecture. See you in next lecture. 22. Player Controller Fan Push Script: Welcome back. In this lecture, we are going to create a script as when we launched the game and when our player fall on the fan. Defend Bush II, add some height in upward direction. So dead, just see if our player is almost died and Fen platform is appear here. And then our player fall on these fan, the fan platform, push it up in upward direction. So go back to player controller script. And just here I am going to create private word on collision enter 2D. If dot gameObject.com tag equal to fan, what it will do, it will push the bilayer RB and its mean player RigidBody dot velocity equal to new vector to be dot velocity dot x and push it in upward direction. And the y value five, float. And press Save. Go back to editor and select the fan platform and create our tag. Name it, fan. And save it. Select the fan and no Select Fan. Pause this one and no press Play. When I press play. As you can see, our prey is moving upward direction and the differences. So little. And just in Greece, w, hen, diaper. Well floor. Press C and just see, you can see here our player is the fan blood from Bush, the uplift in upward direction. Just see. And here you can see the fan. You can also apply the other blurred font. Now here these last thing, I am going to create our folder, name it prefab, and drag these platforms into open it prefab and default blurred form here. And here. The benefit of player form is we do not create blurred form every time. We simply just drag the blurred form here. And it will contain inherit all the properties of blurred form which we have created. So that's it for this lecture. In next lecture, we will create a script spawner script. So dad, when we launch the game, these randomly blurred farms are generating and a star a bit. See you in next lecture. 23. Spawn Platform Script: In this lecture, we are going to create a script for our spawn platform as soon as we launched the KM. So we will see dared to spawn platform. We will start a painting from here. As we said, dead end. For our platform. We're these platforms or destroyed. Similarly, we have to create a set point of where these platform Stuart generating. So first of all, create an empty object and name it start point. And just set it to color into orange and break down it here. So our platforms start originating from here. Another thing, I am going to select, our box collider 2D. Click on Edit and set the colliders eyes to the screen size of your game. Perfect. Now, go back, go to script folder. One thing is select and check the option is triggered. Now go to script folder and create a new script name, spawn pillared phone. And open it. First of all, I am going to create a list and name it. But bleak, least game object. And we will pause the game object and name it. Blurred form. Platform list equal to new game object and just press Control, Save and go back to Unity editor, editor, select start point, header component and attach spawn platform. Here you can see player formulas, these appeared now set the index and name it as said, second set of the broad index number of electricity. Go to prefab folder and drag the platform, default platform, rotating platform here. So when we, we will right now, we are going to read some core for the spawn blurred form. First of all, I am going to declare some variable, and the first one is public. Float, spawn time. It will tell home after Khomeini. Second, our platform start up here. Next is private. Float spawn combed. It will count time. It will come up with a spawn. How many times are spawn? Spawn platform is appeared. And last one is private vectors 3 and spawn pawn position. And it will tell Verdi's the VLE, what is the position of our spot. Now I'm going to create a method and name it public, void, spawn, layered form. And here, first thing, it will spawn spawn going to Time.deltaTime. And next one is spawn. Spawn position equal to transform position. And Bon spawn position dot x equal to o random dot range. And we will pause the barometer here. First of all, make these name correct. Just spawn, spawn, and spawn. Random now range. So what it will do, it will count the number of spawn and it will tell the apposition our spawn. So go back to Unity editor. And here you can see. Just select the default bread from here you can see we will set the deposition of our platform for x. X is, and you can see x value is minus 3.9. Just drag it here and certainty minus 3.8. And also from here, here you can see only x value is g and g. So our blurred form is a bare start appear between these lines, between these screens eyes of a VM. So go back to script and here we will pause minus 3, eight float, and three wired. It, slope. Perfect. Now what is, what if spawn time greater than equal to spawn? Spawn going dime is equal to spawn time. What did we do here to call blurred form appearance method, which we, which we didn't not clear dude yet flared from a balance method and set that equal to spawn common time equal to 0. Perfect. Now we are going to create a method public void, blurred form, appearance. And in these method, I am going to index equal to the random dart range into these one-period formula list.com. And next thing, instantiate, these can change here it blurred form least. And inlays index spawn for Zetian and quandary known entity. And just save it. Now in operative method guard is method spawn declared farm. Press it, spawned spawn a pittance. First, see these spawn time greater than spawn time. That's mean number, how many times are spawning is appeared? And you can see if number of spawn time is greater than spawn time. As you can see, spawn time is the time after how many seconds these bodies appeared. If the spawn time is better than spawn time, it mean it will call those bond polarity from appearance method. And when this method is called, what will happen in this method? I have said that index and our random data from 0 to player formula start cone. So here you can see the index of our spawn blurred phone and spawn time. I have certain 5 second. Now if I press Play, I'll just set this so that our players start falling on this. Now, if I press play here, you can see our spawn player firms are starting appears from the points we have set. Perfect. In next lecture, we will write the script for our spike polar form as it has some different properties. So see you in next lecture. 24. Spawn Spike Ball Script: Welcome back. In this lecture, we are going to write scrape Fatah, what spike platform. So just like the start point here, I am going to create an index value in case four and go to prefab folder and drag does by blurred farm. In element three, index 3. Now, go back to your script, spawner script. I hope you have opened it and in blurred form appearance here. Just make some changes and name. Game object. Game object equal to spike, blurred form, equal to instantiate. And in next line, spike polar form, dot form, dot transform, dot, dot, dot, game, paul, tip dot transform. Now here I am going to write some code just here. If what index? Quarter 2, 3. What do you do it happen if index, that's the index off of a spike? If your index is equal to three, it will increase the spike number. And here I am going to declare and Pi number equal to 0. And also another thing, if spike number greater than equal to one, what did we move into? We'll do spike number equal to 0 and spawn time equal to spawn time. And return rate. Spawn going diamond core to spawn time. Here I have make some mistake. Sorry, just equal to spawn, but now press Save. Go back to Unity and you did. Now press play. Here you can see our platform is a pair by pair fun. So Desi far this lecture and next lecture, we will write the UA scape far our game, and we will also serve some doors for the game. See you in next lecture. 25. Setting Up The UI Elements: Welcome back. In this lecture, we are going to create some UAN. Uan fought over again. So first of all, I am going to create a game object and name it UAE manager. Manager nesting. I am going to clear the IUIE and name it text and color. Score. Just time. Here you can see a MR. Decks is a pair. And if I zoom it, and here you can see our dx is up here. If I drag it here. So click on this. Select periodic burn sand bed, and select this. And here, make it 0 foreign style board. And if you want the increased size and bring it in the center. But in fact, if you want to increase your size, you again, simply select this and scale and increase its size. Now from here you can increase the size. Selected color, make it y, any other color you want. Just drag it here. Now, what I am going to do, select Canvas and now create just pen and select panel, and now create a new deck. And name it. Game over. I'll select it and bring it here. And name it. Game over. If you want to increase the size, just bring it and make it board and increase its size. And change its color to red as KM or what are the short pins it and just know, select panel and create a new burden. And first off, all, change the background of burden and make it green. And now select the text and name it. Dry again. And change its color, right? And also make it bold. And if you want to increase size, if our Bragg slowly select the burden and get down. Now, press Control D and duplicated and just selected here. And select that text and name it. Great. Perfect. So we have the basic UA text. In next lecture, we will create script Potter before. Just you can also select and change Scala. Just want to make it should think. Perfect. In next lecture, we will write code for our game UI code fought over again. See you in next lecture. 26. Time Score UI Script: Welcome back. In this lecture, we are going to write scheme for our EUI. First of all, we will set the time for our UI. As we have Goodyear treated the button for our UI. So BOT-2 script folder and here create a new script, name it uy manager. Perfect. Now sled your UI Manager, which we have created before and select the UI Manager script. Just remove these components, select the UI script. Perfect. Now, just disabled dependent. So we are just dealing with our diamond. Now upon your UI script. And here, create static UI Manager instance in standards. And make it. First of all, here we are using Unity engine dot and also using Unity engine dot scene management. Now next thing that we are going to create public tax score, perfect FASTA file. We are going to create the Goldfarb, our diamond. So no, the top of the head I'm getting at a method public void of IQ. And in a vague method, if instance De Qian instance is not equal to two. Now, if this sense is not equal to 0, what did you do this dry GameObject here to really destroy the game object. And this instance. And in operative method and what each blue time score, dark text equal to Time.deltaTime. Dark blue string. Damages. Save this. Now go back to Unity editor. Select the UI Manager here. Drag this time window. And now press play. Here you can see time is. But what we should do, we want to set the actual second 0, 1, 0, 2. So far this go back to Unity Editor. And it just paused. 000 pensive that no press play. Here you can see just in next lecture, we will read the script for our Canvas. Just to, we will write this cape far our panel has. You can see when we press Play button, if we check the panel, you can see our panelists still on the screen. We want it to appear when we launched the game. In next lecture, we will write script for what Ben, See you in next lecture. 27. Panel UI Script and Good-bye: Welcome back. In this lecture we are going to write code for our button. First of all, named these button again. And just name it this button. Great. Now go back to your script, UI Manager script. Here I am going to create our method. Public void. Try again. And just here. And in try again. Scene Manager, dot load, scene, scene manager, dot get active scene and dot name. Perfect. Now I am going to create a new method, public for public void. Curried application. Dot just controls here. What did we do? Try again, it will call the active scene and on-grid, it will quit the game and just remove these braces. No press Control, Save, go back to Unity editor. And here, select the play again button and go back down and onclick. Just pause to you IT manager. Similarly, select the Quit button on Gleevec. Pause the UI Manager GameObject. Now, select again polio again and select function. You're a manager. And try again Method. And now select duckweed and you're a manager, select the grid method. Now if I put a split, nothing's happened and our panelists not disappeared. So go back to Unity Editor. Now here I am going to create static method, public, static, public static, void, game over. And boom, dead. So what do we do? What will happen? Time dot times k, l equal to 0. And also one thing. Now if IE control Save. Here you can see go back to Unity editor. And now if I press Play, when our players fall, go back to nothing's happened. Go back to Unity editor. And here, what did we do? Have a stuff all here I am going to declare our public GameObject game over. And in this method, public static word game over method. And I'm going to cite in 10, dart game over, dark, Set Null, Control C. And in foster fall, in restart and drag on the method. And the method. I'm going to and write line of code are just times dark, times scale equal to 1. Now Control-C go back to Unity. Now just here, as when we launched the game, when our player gets hurt, nothing Still, nothing to happen. Just the reason is, OK. So it is just go to you, a manager and drag dependent here. Now if press play, I press Play. Nothing's happened. You have making a mistake to see just how Saudi air you can see, if you can, we have created a game over method, but we did not on it. So for these words, really do when we press Play, who will get 100 and the game over our player. So open your player controller script. And here you can see a warning. There you have used, you have is, is value player heard value is assigned, but its value is never used. So here in play or her true part, I am going to call UI Manager One UI Manager and call dart game over. Game over. And pause the value bilayer part. And now I'll press Control C. Go back to Unity editor. Now, if I press play here, you can see when our player hurt, try again, penalties appear. Now another thing just appear. Now if we again press play. Here you can see when our player collided with spikes, press play. One thing I want to show you that ven our player. And now I press Play. Now when our Player file from these, our player is not getting hurt and game is not over. That isn't he is dead. We have select the start point. We also check the trigger point, but we did not select DAG for it. So just select the spike. Now press play. So here you can see when our player getting hurt and fall off the player farm, try again, Bhutanese appear. And other thing, then we have our game is over our game. When we start again, it will again start from the time which was we added which Doug game was over. We want to reset this. So go back to your UI Manager script and just change discord, just CO2, and remove this time and just type time level node and just Control Save. Go back to it. Now if I press play. Here, you can see when we start the game, it's time to reset. So this is our jump don't platformer game. I hope you like it. And please leave a review. And we will also add new features. We will also add new functionality as just we set the Moon rays for this. So our player is not go out of the bone. And you can also try different platforms and other at different graphs for this game. I hope you like this course. I hugely tank to you. So see you in future. Take care. Bye.