1 00:00:04,090 --> 00:00:11,440 ‫If there's one thing that is the one most important thing for an infinite runner, then that it's infinite. 2 00:00:11,440 --> 00:00:17,260 ‫And in order to create an infinite world, we need an procedural creation. 3 00:00:17,260 --> 00:00:22,660 ‫We need to create it procedurally, which means we need to do it via code, via code. 4 00:00:22,660 --> 00:00:31,600 ‫So we don't want to create a huge world of, I don't know, 1 billion different pieces of our road elements 5 00:00:31,600 --> 00:00:32,740 ‫or road parts. 6 00:00:32,740 --> 00:00:36,910 ‫We want to do that programmatically, and we can do that with a procedural way. 7 00:00:36,910 --> 00:00:44,650 ‫So what I want to do now is, first of all, I want to set up my crystal and I want to change the crystal, 8 00:00:44,650 --> 00:00:49,300 ‫not to be somewhere in the world or anywhere that I positioned it. 9 00:00:49,300 --> 00:00:52,000 ‫I want you to be on a road path. 10 00:00:52,630 --> 00:00:58,210 ‫So let's position our crystal, this one here. 11 00:00:58,210 --> 00:01:01,900 ‫Let's position it onto our road paths. 12 00:01:01,900 --> 00:01:06,130 ‫So let's get, by the way, rid of all the other crystals. 13 00:01:07,450 --> 00:01:08,500 ‫Delete. 14 00:01:09,070 --> 00:01:13,060 ‫Also, let's get rid of our road parts delete as well. 15 00:01:13,300 --> 00:01:19,270 ‫And now let's drag that crystal onto our game. 16 00:01:19,300 --> 00:01:22,090 ‫So let's say roughly here is a good position. 17 00:01:23,170 --> 00:01:26,260 ‫Let's see if it's just on top. 18 00:01:28,350 --> 00:01:28,890 ‫Just on top. 19 00:01:28,900 --> 00:01:30,000 ‫Yeah, it's fine. 20 00:01:30,090 --> 00:01:31,260 ‫So that's good. 21 00:01:31,260 --> 00:01:38,850 ‫And I want to put the crystal onto the road part, and now I'm going to deactivate the crystal. 22 00:01:39,180 --> 00:01:41,660 ‫So now, as you can see, it's not available anymore. 23 00:01:41,670 --> 00:01:43,560 ‫We would have to activate it. 24 00:01:43,980 --> 00:01:46,590 ‫And now that road part will be a new prefab. 25 00:01:46,590 --> 00:01:54,060 ‫So let's drag that road part into our prefabs folder and we want to create multiple of those road parts 26 00:01:54,450 --> 00:01:55,800 ‫procedurally later on. 27 00:01:57,450 --> 00:01:57,960 ‫All right. 28 00:01:57,960 --> 00:02:02,970 ‫Before we do that, there is a basic piece of our game that will always be the same. 29 00:02:02,970 --> 00:02:07,920 ‫So that's going to be our road in a certain way. 30 00:02:07,920 --> 00:02:10,230 ‫So let's get rid of the crystals, by the way, as well. 31 00:02:10,230 --> 00:02:16,710 ‫And now we can duplicate the crystal and let's move it accordingly. 32 00:02:21,280 --> 00:02:29,470 ‫So the first several steps are always the same, and then we get moving to the side. 33 00:02:38,990 --> 00:02:40,760 ‫So this piece will always be the same. 34 00:02:40,760 --> 00:02:42,190 ‫So let's have a look at the game view. 35 00:02:42,200 --> 00:02:43,580 ‫Yeah, it's always the same. 36 00:02:43,580 --> 00:02:45,350 ‫They're always moving like that. 37 00:02:45,590 --> 00:02:47,150 ‫And the next one. 38 00:02:47,840 --> 00:02:48,200 ‫All right. 39 00:02:48,200 --> 00:02:50,330 ‫So now that's the start of our map. 40 00:02:50,330 --> 00:02:57,440 ‫And now we want to go ahead and make it procedural so that the pieces, they are created automatically 41 00:02:57,440 --> 00:02:59,360 ‫and infinitely. 42 00:03:00,080 --> 00:03:06,440 ‫And in order to do that, let's create a new script for our road. 43 00:03:06,440 --> 00:03:15,110 ‫So let's go to our road, add component and new script, and let's call that one road. 44 00:03:16,400 --> 00:03:28,280 ‫Now let's open it one up and here we will need our repair prefab so public game object road prefab let's 45 00:03:28,280 --> 00:03:36,500 ‫assign that real quick in unity so our road script will need a road prefab let's drag the script, by 46 00:03:36,500 --> 00:03:38,630 ‫the way into our script folder. 47 00:03:38,780 --> 00:03:41,300 ‫Now let's go to our. 48 00:03:43,090 --> 00:03:47,470 ‫Wrote and now needs the road script or road part game object. 49 00:03:47,680 --> 00:03:48,790 ‫All right, there we are. 50 00:03:49,270 --> 00:03:49,960 ‫Or the prefab? 51 00:03:49,960 --> 00:03:50,710 ‫Pretty much. 52 00:03:52,120 --> 00:03:52,390 ‫All right. 53 00:03:52,390 --> 00:03:58,920 ‫Next, we will need to know from which point onwards do we want to have our world created? 54 00:03:58,930 --> 00:04:00,550 ‫So I have an error here. 55 00:04:00,970 --> 00:04:03,890 ‫The role part 11 is not required, so let's delete that. 56 00:04:03,910 --> 00:04:04,600 ‫So. 57 00:04:06,730 --> 00:04:11,680 ‫So from road ten on, I want to go on and create new road parts. 58 00:04:11,680 --> 00:04:13,150 ‫So from this point on. 59 00:04:13,150 --> 00:04:17,250 ‫So I need the position from when I want to create new road parts. 60 00:04:17,260 --> 00:04:21,130 ‫The position is the position or the transform position of our road part. 61 00:04:21,130 --> 00:04:27,310 ‫And if we have a look at it, it's at the position 007.09 62 00:04:28,240 --> 00:04:31,510 ‫So let's check that position. 63 00:04:31,510 --> 00:04:35,410 ‫I'm going to drag it back in our road script. 64 00:04:35,410 --> 00:04:36,910 ‫I want to have that position. 65 00:04:36,910 --> 00:04:46,240 ‫So I'm going to create a new public vector three last post, so I'm going to call it and I'm going to 66 00:04:46,240 --> 00:04:48,130 ‫add it in here. 67 00:04:48,310 --> 00:04:52,570 ‫So it was 007.9 or oh nine. 68 00:04:52,780 --> 00:04:54,850 ‫That was the position of our last road part. 69 00:04:54,880 --> 00:05:00,220 ‫Now what we need to know is by how much do we need to move an object. 70 00:05:00,220 --> 00:05:07,660 ‫So this road part, let's position it outside and now let's move that or duplicate that road power and 71 00:05:07,660 --> 00:05:10,780 ‫move it with control and shift. 72 00:05:11,260 --> 00:05:15,250 ‫And then we can see it's moving by 0.707. 73 00:05:15,250 --> 00:05:21,310 ‫So that's pretty much the width of or the change of the position of our block, and it should be the 74 00:05:21,310 --> 00:05:22,210 ‫width as well. 75 00:05:23,110 --> 00:05:23,380 ‫All right. 76 00:05:23,380 --> 00:05:28,450 ‫So let's go back to our road script and here we will need to know that offset. 77 00:05:28,450 --> 00:05:38,920 ‫So let's create a new public float offset and it's 0.707 as a float. 78 00:05:39,490 --> 00:05:41,410 ‫And now let's create a method. 79 00:05:41,410 --> 00:05:42,970 ‫I'm going to get rid of the start method. 80 00:05:42,970 --> 00:05:50,020 ‫I'm going to create a new method, public void, create new road part. 81 00:05:52,150 --> 00:06:02,380 ‫And I'm going to for now just debug debug log, create new road part. 82 00:06:03,010 --> 00:06:06,970 ‫And within the update method, I'm going to check if the user presses a button. 83 00:06:06,970 --> 00:06:13,510 ‫So input dot get key down and which key code do I want. 84 00:06:13,540 --> 00:06:15,970 ‫Key code dot space. 85 00:06:16,570 --> 00:06:21,430 ‫So whenever the player press the space, I want to create a new road part. 86 00:06:22,540 --> 00:06:23,560 ‫Let's go with that now. 87 00:06:23,560 --> 00:06:25,720 ‫So let's create that method even further. 88 00:06:25,720 --> 00:06:27,630 ‫So create new road part. 89 00:06:27,640 --> 00:06:28,630 ‫What do we need here? 90 00:06:28,630 --> 00:06:31,240 ‫We need to spawn position, which is a vector three. 91 00:06:31,660 --> 00:06:40,900 ‫So let's call it spawn post vector 3.0, which is the position 000. 92 00:06:40,900 --> 00:06:50,380 ‫So that's the spawn position from where we start, then we want to have a chance, which is a random 93 00:06:51,010 --> 00:06:54,520 ‫range variable between zero and 100. 94 00:06:55,390 --> 00:07:04,900 ‫And if chance is lower than 50, then I want to spawn to the left and otherwise I want to spawn to the 95 00:07:04,900 --> 00:07:05,410 ‫right. 96 00:07:05,470 --> 00:07:11,830 ‫So if chance is lower than 50, I want to have a positive offset and otherwise I want to have a negative 97 00:07:11,830 --> 00:07:12,220 ‫offset. 98 00:07:12,220 --> 00:07:22,240 ‫So spawn position is going to be new vector three, which is the last position dot x plus the offset 99 00:07:23,470 --> 00:07:25,780 ‫and the last Y position. 100 00:07:27,420 --> 00:07:29,400 ‫So last post at Y. 101 00:07:29,430 --> 00:07:35,130 ‫And then finally last post, but z plus the offset. 102 00:07:37,170 --> 00:07:43,200 ‫So that means it will move our or it will create a spawn position which is a vector three or it will 103 00:07:43,200 --> 00:07:50,010 ‫assign the spawn position, which is a vector three, and we will use that later on to spawn our game 104 00:07:50,010 --> 00:07:54,120 ‫object, which is our road piece or road part. 105 00:07:54,390 --> 00:08:06,960 ‫So else I want it to be the spawn position equal to new vector three last post x minus the offset. 106 00:08:11,350 --> 00:08:17,380 ‫Last Post Y and last post z plus the. 107 00:08:23,210 --> 00:08:24,970 ‫Now let's go ahead and create the game object. 108 00:08:24,980 --> 00:08:32,840 ‫I'm going to call it G, instantiate it so we create it within our unity world road prefab and at which 109 00:08:32,840 --> 00:08:38,120 ‫position while at the spawn position and which criterion do we want to have. 110 00:08:38,150 --> 00:08:52,340 ‫We use criterion dot ular, which means we rotate it with 0.45 and zero because our game objects are 111 00:08:52,340 --> 00:08:57,860 ‫rotated as well and we want our roads are rotated and we want them to be rotated here as well. 112 00:08:57,950 --> 00:09:05,000 ‫And now we need the last position or need to set the last position, which is g to transform the position. 113 00:09:08,440 --> 00:09:10,910 ‫Because that's the new position, right? 114 00:09:10,930 --> 00:09:15,160 ‫We need to know what the last position is of our new game object. 115 00:09:15,160 --> 00:09:21,490 ‫So we started off with the last position that we set up manually and now we always set it up with the 116 00:09:21,490 --> 00:09:22,510 ‫one that is created. 117 00:09:22,510 --> 00:09:28,450 ‫So the new road part has a specific position and we save that in our last post variable. 118 00:09:29,170 --> 00:09:30,820 ‫All right, so let's try that. 119 00:09:30,820 --> 00:09:35,410 ‫I went back to Unity and I created the split screen. 120 00:09:35,630 --> 00:09:39,970 ‫Makes sense here because what we want to see is what's happening in the scene. 121 00:09:39,970 --> 00:09:45,850 ‫So let me get rid of the sound real quick, even though it's great. 122 00:09:45,850 --> 00:09:50,710 ‫Now let's go into the game view and now let's press the space key. 123 00:09:50,710 --> 00:09:58,540 ‫And as you can see here in the scene view, our world is created now based on our tabs, but of course 124 00:09:58,540 --> 00:10:01,870 ‫we want that to happen, not based on us clicking all the time. 125 00:10:01,870 --> 00:10:04,840 ‫We want it to happen based on the position that we have. 126 00:10:04,840 --> 00:10:06,400 ‫Now let's go back to scripting. 127 00:10:06,760 --> 00:10:10,000 ‫So let's create this automatically. 128 00:10:10,030 --> 00:10:18,730 ‫Let's use the private void wake method here and let's just invoke repeating or let's call the method, 129 00:10:18,730 --> 00:10:19,570 ‫revoke repeating. 130 00:10:19,570 --> 00:10:21,610 ‫And what do we want to invoke repeat? 131 00:10:21,610 --> 00:10:31,780 ‫Well the create new road part method and we want to do that after 1/2 and we want to do that every second. 132 00:10:31,960 --> 00:10:33,460 ‫So let's just try that. 133 00:10:35,140 --> 00:10:37,900 ‫Let's save the game and see what happens now. 134 00:10:38,230 --> 00:10:39,640 ‫So let's try that. 135 00:10:40,950 --> 00:10:44,910 ‫And we can see every second a new road part is created. 136 00:10:49,920 --> 00:10:50,220 ‫All right. 137 00:10:50,220 --> 00:10:52,000 ‫But that's not exactly what we want. 138 00:10:52,020 --> 00:10:58,860 ‫We don't want it to be created whenever we are on awake, because now what it could what could happen 139 00:10:58,860 --> 00:11:03,840 ‫is we don't start the game and it's just running and we still create a huge world every single second. 140 00:11:04,080 --> 00:11:07,820 ‫But what we want to do is only if the game is started, we want to create those. 141 00:11:07,830 --> 00:11:09,200 ‫So how do we do that? 142 00:11:09,210 --> 00:11:15,600 ‫Well, we don't use the awake method here, but we use a different one, which we will create a different 143 00:11:15,600 --> 00:11:21,060 ‫one which we call start start building. 144 00:11:23,550 --> 00:11:29,760 ‫And it's not going to be private but public because we want to access it from our game manager. 145 00:11:31,110 --> 00:11:35,520 ‫And of course we won't need the update method now anymore with the key down where we create new road 146 00:11:35,580 --> 00:11:38,340 ‫parts based on our key press. 147 00:11:38,340 --> 00:11:43,800 ‫So let's go into the game manager and go to the start game method, because in here we start the game 148 00:11:43,800 --> 00:11:46,800 ‫and that's a perfect point to create those objects. 149 00:11:46,800 --> 00:11:53,250 ‫So let's find an object of type and let's find the road object. 150 00:11:53,790 --> 00:11:58,680 ‫And there we had a method called Start Building, and that's the one that we want to call. 151 00:11:58,770 --> 00:12:00,390 ‫All right, let's go ahead and test that. 152 00:12:00,390 --> 00:12:04,830 ‫So let's go to our game and I get a null reference exception. 153 00:12:04,830 --> 00:12:09,030 ‫And that has to do with me not having a game manager anymore. 154 00:12:09,840 --> 00:12:12,330 ‫So let's have a look how we can change that. 155 00:12:12,480 --> 00:12:14,880 ‫Let's create a new game manager. 156 00:12:14,880 --> 00:12:21,200 ‫If that's the case for you as well, I'm going to create a game manager here and I'm going to drag or 157 00:12:21,210 --> 00:12:29,670 ‫I'm going to reset that first here and drag my game manager in here because for whatever reason, it 158 00:12:29,670 --> 00:12:30,210 ‫disappeared. 159 00:12:30,210 --> 00:12:31,740 ‫So I'm going to save the scene now. 160 00:12:31,890 --> 00:12:37,950 ‫And before we test that, of course, we need to assign the score text and the high score text. 161 00:12:37,950 --> 00:12:39,060 ‫So let's do that. 162 00:12:39,840 --> 00:12:41,730 ‫And now let's try it again. 163 00:12:42,600 --> 00:12:43,830 ‫Now, we shouldn't get the error. 164 00:12:43,860 --> 00:12:45,600 ‫All right, so now we're back on track. 165 00:12:45,600 --> 00:12:47,280 ‫I somehow have must have deleted it. 166 00:12:48,000 --> 00:12:50,490 ‫So now let's try it out. 167 00:12:50,490 --> 00:12:51,570 ‫Oh, let's try it. 168 00:12:51,720 --> 00:12:52,770 ‫Let's start the game. 169 00:12:53,610 --> 00:13:03,900 ‫And as you can see, the game is procedurally created there at the back and it's a little bit too slow. 170 00:13:03,900 --> 00:13:09,090 ‫So we are faster than our game creates those pieces. 171 00:13:09,090 --> 00:13:11,940 ‫So let's create new road parts a little quicker. 172 00:13:12,180 --> 00:13:22,800 ‫By the way, by for example, we could create them every 0.5 seconds, so let's do that 0.5 F Now that 173 00:13:22,800 --> 00:13:23,760 ‫should solve that problem. 174 00:13:23,760 --> 00:13:25,410 ‫I think the interval is fine. 175 00:13:25,530 --> 00:13:26,460 ‫Let's have a look. 176 00:13:27,270 --> 00:13:31,500 ‫Let's start the game and let's see if it creates enough. 177 00:13:31,770 --> 00:13:37,470 ‫So what I don't like, however, is that I can still see how it produces those pieces. 178 00:13:38,970 --> 00:13:43,740 ‫Well, now I fell down, so that means how I can solve it is pretty simple. 179 00:13:43,740 --> 00:13:46,290 ‫I could simply. 180 00:13:47,040 --> 00:13:51,150 ‫Let's get rid of this road path here and that one. 181 00:13:51,150 --> 00:13:52,260 ‫Well, I need that one. 182 00:13:52,260 --> 00:13:54,000 ‫Let's bring it back to our road. 183 00:13:54,030 --> 00:13:59,040 ‫I could simply duplicate that piece here and move it further. 184 00:13:59,070 --> 00:14:00,660 ‫Actually, let's move it here. 185 00:14:00,820 --> 00:14:02,250 ‫Duplicate it again. 186 00:14:02,460 --> 00:14:05,640 ‫So I could simply make the world a little bigger. 187 00:14:06,840 --> 00:14:08,790 ‫So now let's save that. 188 00:14:09,750 --> 00:14:12,480 ‫And now I shouldn't see where it's created anymore. 189 00:14:13,200 --> 00:14:14,490 ‫So let's start a game. 190 00:14:17,050 --> 00:14:25,120 ‫And now, of course, we have the problem here that we don't have the correct end point anymore because 191 00:14:25,120 --> 00:14:25,690 ‫where was it? 192 00:14:25,690 --> 00:14:28,600 ‫Our road needs to have the last position. 193 00:14:29,170 --> 00:14:33,060 ‫So the offset of the last position and it should be this one here now. 194 00:14:33,070 --> 00:14:36,130 ‫So our road part 14 now is the last one. 195 00:14:36,130 --> 00:14:45,310 ‫So let's change the values here and take the Z value as well from our road and enter it here. 196 00:14:46,210 --> 00:14:48,490 ‫Okay, so now let's try it again. 197 00:14:49,090 --> 00:14:51,280 ‫Let's see where the pieces are created. 198 00:14:53,380 --> 00:14:56,050 ‫And as you can see, they are created at the right position. 199 00:14:56,050 --> 00:14:56,710 ‫Perfect. 200 00:14:56,710 --> 00:14:59,440 ‫And now I don't see where my world is created. 201 00:14:59,440 --> 00:15:07,060 ‫And I think 0.5 seconds should be fine because now it's creating faster than I can walk. 202 00:15:08,080 --> 00:15:08,740 ‫Okay. 203 00:15:09,430 --> 00:15:10,330 ‫That's good. 204 00:15:10,360 --> 00:15:14,700 ‫Now let's add the crystals again, because we don't have crystals. 205 00:15:14,710 --> 00:15:15,310 ‫Now, what? 206 00:15:15,310 --> 00:15:17,710 ‫We do want to have our crystals. 207 00:15:17,710 --> 00:15:20,260 ‫So let's go to our road script. 208 00:15:20,290 --> 00:15:27,010 ‫And in here in the create new part, we want to have a crystal every fifth step or every fifth road. 209 00:15:27,130 --> 00:15:36,220 ‫So let's create a private int road count, which is zero, and let's increase the road count for every 210 00:15:36,220 --> 00:15:37,330 ‫road that we create. 211 00:15:37,330 --> 00:15:39,460 ‫So road count plus plus. 212 00:15:39,790 --> 00:15:50,470 ‫And then we check if road count is divided by five, so modulo five is equal zero, then we want to 213 00:15:50,470 --> 00:15:52,480 ‫activate our crystal. 214 00:15:52,480 --> 00:16:05,110 ‫So g transform dot get child at the zero position so add ourselves, get the game object and set it 215 00:16:05,140 --> 00:16:06,670 ‫to active. 216 00:16:06,670 --> 00:16:07,330 ‫True. 217 00:16:07,720 --> 00:16:15,190 ‫So that will do is every fifth road will have an active crystal now. 218 00:16:16,510 --> 00:16:17,080 ‫All right. 219 00:16:17,080 --> 00:16:18,550 ‫And now let's save the script. 220 00:16:18,550 --> 00:16:21,790 ‫Let's go back to Unity and see if that works. 221 00:16:22,300 --> 00:16:27,280 ‫So the start pieces will not have any crystals. 222 00:16:27,280 --> 00:16:30,910 ‫So the ones that we have created manually will not have any crystals. 223 00:16:30,910 --> 00:16:36,400 ‫So the player has to get through a certain part here before he gets any crystals. 224 00:16:36,400 --> 00:16:38,980 ‫Oh, now we do have a little problem here, though. 225 00:16:39,220 --> 00:16:48,100 ‫As you can see, the animation is not working correctly anymore, and maybe you can guess why that is. 226 00:16:48,700 --> 00:16:57,430 ‫Well, that has to do with the fact that at one point our player was in the air or has touched the air 227 00:16:57,430 --> 00:16:59,050 ‫for just a split second. 228 00:16:59,170 --> 00:17:08,140 ‫And that's when he started to not move correctly anymore or to well, not animate correctly anymore. 229 00:17:08,140 --> 00:17:09,820 ‫So let's fix that. 230 00:17:10,990 --> 00:17:12,460 ‫We can fix that in two ways. 231 00:17:12,460 --> 00:17:21,280 ‫One could be that at one point there is some space in between so that the blocks are not perfectly in 232 00:17:21,280 --> 00:17:22,450 ‫line with each other. 233 00:17:22,450 --> 00:17:29,800 ‫So that could be one of the reasons another one could be, or another way to solve it could be to go 234 00:17:29,800 --> 00:17:38,770 ‫to our character animation and add a new transition, make transition from falling to run, and that 235 00:17:38,770 --> 00:17:44,980 ‫one will be based of a condition which we haven't created. 236 00:17:44,980 --> 00:17:53,860 ‫So let's create a new parameter and let's call that trigger not falling anymore. 237 00:17:55,220 --> 00:17:57,430 ‫That would not be the perfect solution though. 238 00:17:57,430 --> 00:18:02,920 ‫So the better solution would really be to check if there are any gaps in between my pieces here. 239 00:18:02,920 --> 00:18:04,930 ‫But that would be one option to do that. 240 00:18:04,930 --> 00:18:06,220 ‫Not falling anymore. 241 00:18:06,220 --> 00:18:07,660 ‫So let's do that. 242 00:18:07,660 --> 00:18:20,260 ‫Let's go back to our script here and we can go here else in our chart controller in the update method, 243 00:18:20,260 --> 00:18:26,200 ‫we could say if the red cast is not at this position anymore, we could go ahead and set the trigger 244 00:18:27,430 --> 00:18:32,680 ‫to is not falling anymore. 245 00:18:33,730 --> 00:18:35,110 ‫I think that's how I call it. 246 00:18:35,110 --> 00:18:36,670 ‫So let's check it out. 247 00:18:40,440 --> 00:18:42,750 ‫Let's change that to not falling anymore. 248 00:18:43,080 --> 00:18:44,400 ‫That was the correct term. 249 00:18:45,090 --> 00:18:50,940 ‫So let's go back to unity and change that to not falling anymore. 250 00:18:52,020 --> 00:18:54,230 ‫And now let's see if that problem is solved. 251 00:18:54,240 --> 00:18:57,600 ‫So let's play the game here. 252 00:18:57,600 --> 00:19:05,700 ‫We can go to our scene and maybe find a better view on things like that. 253 00:19:05,700 --> 00:19:07,710 ‫And now let's go ahead and start the game. 254 00:19:11,670 --> 00:19:13,410 ‫So now let's collect some. 255 00:19:14,370 --> 00:19:16,020 ‫And as you could see, he was falling there. 256 00:19:16,020 --> 00:19:20,880 ‫There was a little gap and it was a gap from our start. 257 00:19:21,420 --> 00:19:26,790 ‫Well, the point where I created the field manually and where we started to do it procedurally. 258 00:19:26,790 --> 00:19:29,490 ‫So there must have been a little gap in between. 259 00:19:29,490 --> 00:19:36,300 ‫So one or the solution that I've just shown you is just a patch, a little patch. 260 00:19:36,300 --> 00:19:39,780 ‫You shouldn't really use those ones when going live. 261 00:19:39,780 --> 00:19:42,240 ‫So you should find the little gap that we have there. 262 00:19:42,390 --> 00:19:45,040 ‫But I think it's too boring to show you that in detail. 263 00:19:45,060 --> 00:19:49,350 ‫So now let's have a look at the next chapter. 264 00:19:49,380 --> 00:19:50,610 ‫Oh, I missed that one. 265 00:19:50,640 --> 00:19:53,370 ‫So as you can see, our game does what it should. 266 00:19:53,370 --> 00:19:54,870 ‫We have a finished game? 267 00:19:54,870 --> 00:19:56,700 ‫I'd say we have the sound. 268 00:19:56,700 --> 00:19:58,350 ‫We can collect those points. 269 00:19:58,350 --> 00:20:02,820 ‫We well we have a high score and so forth. 270 00:20:02,820 --> 00:20:06,180 ‫And I think the most important thing is our procedural world. 271 00:20:06,270 --> 00:20:08,770 ‫Now, the challenge could be a bit higher. 272 00:20:08,790 --> 00:20:13,080 ‫Of course, you could change the speed of the player step by step. 273 00:20:13,080 --> 00:20:22,320 ‫Then, of course, you would also have to change the tempo at which we create our procedural map. 274 00:20:22,890 --> 00:20:23,820 ‫And there we are. 275 00:20:24,030 --> 00:20:24,480 ‫Great. 276 00:20:24,480 --> 00:20:31,710 ‫So I think it's enough for you to have seen me connect 26 points and the next chapter we are going to 277 00:20:31,710 --> 00:20:32,610 ‫create the next game. 278 00:20:32,610 --> 00:20:38,010 ‫So I hope you're hyped and I hope you took this game and made it even better. 279 00:20:38,010 --> 00:20:39,540 ‫So you make it even better. 280 00:20:39,540 --> 00:20:45,930 ‫So please go ahead and add features that you think would make this game look better or what make this 281 00:20:45,930 --> 00:20:47,460 ‫game just amazing. 282 00:20:47,460 --> 00:20:49,620 ‫So please go ahead and do that and share it with us. 283 00:20:50,280 --> 00:20:50,670 ‫All right. 284 00:20:50,670 --> 00:20:52,650 ‫So see you in the next chapter.