Transcripts
1. Trailer: Welcome to the Pixel
Platform Adventures class. We'll explore game mechanics and creative design as you dive into your first
platform project, just like popular platforms
like Sonic and Mario. This class is created entirely through your browser
without using code. We'll be going through
sprite assets and uploading them so you can master
character animations. We get to craft a
simple or complex level with a dynamic camera. Learn to add health mechanics, create challenging obstacles and implement a challenging
level progression. You'll learn how to
enhance gameplay with collectibles and use them
effectively to overcome foes. Challenge players with
epic boss encounters and complete your game
with a full game loop. Still wondering what
you'd be making? or why do you head over to
the product section and play an example of what you'd be making right here
on your browser. Once you've done, you can make your own version with this
easy to follow class.
2. Using Assets: All right. All right. Welcome to the
third lesson where you get to make a platform game. So the first video,
I just want to show you a little
bit about assets. If you know about
assets already, then you can skip this video, but if you don't know about
sprites and assets and things that you need
to upload into games, then you may find
this video useful. So you'll find the link in
the description where you can download all the assets for the game that I'm
going to be making. So the assets are just simple background
character, enemy, fruit and traps, and they obviously all correspond to
each of the elements here. If you want at the
end of the lesson, I'm going to ask you for your project to expand
upon your game. Okay? And I've downloaded all these assets from
this website here. It's I. It is a great website where you
can get some free assets, you can donate to some
creators that you really like, or you can actually
play some games that you might get inspiration
from or upload your own. At the end, like I said, you can expand upon your game. There are a lot more
assets in this pack, by clicking this
download button here, you'll get a lot more than
what I've provided, okay? So in the mega up load
that I've provided, I've really reduced
it down and I've resized subdom just so
it's easier for you. You don't have to
worry about it. If you decide at the end, that you want to download
another pack from it, download the same pack that I provided link in
the description, or just have a
really nice website where you can know
how to edit sprites. Maybe you find a
different website that you might want to use. But just to reiterate,
for the actual lesson, you don't need to do anything
because it's all done in the mega upload that
I've provided for you. So there's a really
good website, again, this is all in the description, which is easy gift. So all you do is you
would go to this website. Again, I've done
the correct URL, but if you just do easy
gift.com and then navigate to Sprites Sheet Cutter,
it will do it for you. If I just upload an image
now to this website, so I can show you the process. I'll only do it for one,
and then if you do want to use other assets from that website, you can
know how to do it. So you choose a file, you navigate it, and
then you click on load. Okay. And so you'll
get this one. I've just chosen like a
different character here. So what you need to do is
you just do very simple, you need to do by number
of columns and rows. Okay? And the row will
always be one for at least the assets that I've seen and
played around with, and you'll need to count, this varies the amount of columns that you need
to split it out. For this one, it'll be
one, two, three, four, five, six, seven,
eight, nine, ten, 11. So you put 11 down there, you do cuts Then
as you see here, it splits it into its
own individual bits. And then you just
download as frames as zips. That's all
you've got to do. Okay? And then when
you upload them, you also may find that
you need to resize them. You can do them in
any editing program like Photoshop or Photop. You can also edit
it in flow lab, which we'll be doing
in this class. It's entirely up to you. I've kind of varied
between doing it in this class and also
do it in photoshop. And with that being said, let's get started with the class.
3. Flowlab Tutorial: C. So just like
the other classes, we're going to show what the
actual final product is, and we're going to be
making this platform. It's going to have
a full game loop. So similar to what the
other classes were like, this one has actual proper
four game loop, I would say. So it has like a title
screen and an n screen, and then obviously,
the middle bit is the play area, okay? So this is my very
crude sitting screen. You press S to start. You got a bit of music, you
get your guy to move around, collect things, we can jump. I see a little enemy there
and Mo and Sonic sk. I I shoot that, for a space bar, if I shoot space bar again, it hits me back,
and I can go along. Collect fix. So that's what we're going to
be making today. So let's go to my games, and we're going to
click on New game. Now, just important to note, if you can use a free
account for this class, there's no problem because we're going to be uploading assets. If you've done the
other classes, you'll see here that you'll probably be free
or free, for example. If you have an India account
or a student account, they will be unlimited. You can pay for an India account on the website and you can pay for a student account again through M Frida Link
Indi description. Important to note quickly that if you have an Indie
or Shooting account, you can make as many
games as you want. Okay? It will not It
would not limit you. And then if you want,
you can then revert back to a free account and you
will keep all your games. The only issue is that
you won't be able to make any new games
because obviously if you make ten when you
have a paid account, you've obviously gone
over the limit of free. So that being said,
let's started. We're going to hit new game. And then normally I get
you to hit empty project. But it's important
that maybe we click on Flow lab tutorial because well, it's there, and also it sets
up what we need to be doing. So we're going to be
click on on that. Most of you will know
what you're doing here. If you've just started
on class three, then it's obviously very useful. So we're going to click
on He on Global settings. We're going to change this
gravity to set it to 48. Obviously, gravity is
what pulls you down. Then we're going to
be opening the level. Going to be changing in
the background here. Again, I've showed you
just many times before. You click on the circle on the outside and
then on the inside, so we're going to click
a nice blue like that. Click Okay. Then we're
going to choose Create. Again, we just create a
sprite like we normally do, just left click, then
click on Create. Change the Sprite, go to browse. I'm doing this very quickly because it actually shows
you what you're doing. You it has a massive yellow
like square to where to go. It's going to ask
you to do a block, so we just click on a
block, click, save. Again, like I said, with
all the other ones. In the type, make sure
you put down the type. As your games get
more complicated, you're going to want
to know what type you're referring back
to where it says name, they're specific to each
type of the object. You can have many
that says ground. But you might have, I don't know, ground
one, ground two, ground three, and they'll be
all specific to that item. To that sprite. Clay, click on clay, and now we're
going to clone it. Easy. We're going to do a
little line, boo boo boo. Okay, I'm done. And then for the final one,
click on Create. We're going to change
this to movable. So as you can probably imagine, we're going to make the
sprite movable. Go back. Click on here. Click
on the Sprite, and we're just going to
be making our character. Going to be changing
a lot of Ds. We're going to be uploading
our new sprites like I said, but you have to do this in
order to do the Tutorial. So again, I just think it's just useful just for us to
quickly go through it. It won't take very long.
So go to behaviors, bundle behaviors, run and jump. And then we've got our
run and jump bundle here. We can go into that, which
we will in a minute. Click on play, and then left
and right, and then jump. Then we can hit stop. And then we can go back into the play
button here. There you go. We've done the
Tutorial. We've done the flow lab tutorial. Obviously, we're going
to expand upon that. As we've got this Tutoria done, I think it's important because
we just put the bundle in, we should probably
explain about that. We should probably go through that and see what
happens here because all the other classes
I've done and I've explained and you see
the process working, just given you a bundle here. Let's open this bundle,
let's see what's happening. So, again, if you've done your previous flow lab to Turas, I've done the different classes, you'll know what's
happening here. But again, I'll
just go through it. These are triggers.
These are numbers, which kind of get a number
to act different nodes. So when the left keyboard
trigger is pressed down, it gets minus six, and it then goes down to this
one and it makes velocity. As you can imagine,
velocity is speed. So x is left and right. Y is up and down. So left goes to minus six x and right goes to plus
six or just normal six, positive six to x. And you can see
that working here. Can you see if I moved out
across a little bit like that? You can see these activated as you play if you pit the
play button down here. So I'm hit in left, you'll
see that six goes to x, nine or six, and then
positive six goes to x. You'll also see here. Now
this flips the sprite. So flips it, default for
flow lab is to its right. Everything looks to its right. Flip, obviously, as you can
imagine, flips it like that. It flips it back. It
flips it the other way. And then if you want it to go
back to the original thing, original direction,
you have back. B is just back to
its original fi. You could do toggle if you want. But the reason why we don't do toggle on this one
is if you want to answer different
mechanics and if you accidentally press left
twice or whatever, you might start to
introduce bugs. Are many, many different ways, just like with most game engines and programs and codes
to do something. And with every single thing that you can do
multiple ways of, there are bugs involved. Sometimes a program
doesn't like it. For this one, it's just
easier just to have flip on the left and then just
go back on the right. But like I said, I always encourage
you to experiment. Take them out if you want
and see what it does. You can just delete
them by just click on on an arrow one
of these lines, and it goes red, and it goes away, and then
you can put them back. So that's left and right sorted. And as you notice,
the character jump goes down because
we've put gravity, up is slightly different. So impulse is like a spring because there's a picture
of a spring there. And then what
happens if I do up, it makes me go up, right? Because that's the Y axis. So press y, it gets 12. It goes into this switch, and I'll explain why we
have a switch in a minute, and then it goes and
it pushes it up. If we don't have this switch, if I move this down here
and I take this off. So now I bypass this switch. I'll just do that there.
It will still work. But again, we've done it this way because we want it to
have a certain mechanic. But if you want your
character to fly, now I can get my
character fly because I'm pressing up constantly, right? And so the reason we want it to be able
to turn itself off. So when we hit the ground
or when we hit something, then we're able to jump again. So that's why we put
in to this switch, which is it's default off, actually, because it needs to have a collision
off the ground. Obviously for this when it
says collision to anything, but we can turn that to ground
and then out goes to y, so that the minute
it hits the ground, you see that it turns on and then it turns off when we jump off when it's not because it
turns itself off afterwards. We can have that default
doctor on if we want. I don't know if you
can hear me click in, click as many times
as I want on that. So it's important to
note for collision, I can do these for top, bottom, left and right, okay? So what that does is that
if I hit the top and bottom of the sprite here or any fink because I can
choose ground if I want. Yeah, that's when
it will trigger. So if for example, you want to have a
different mechanic where I don't know I just
like Mario or and Sonic, where you hit the character on the top of the head,
then obviously, that's the only one
that you'd click, and then only when you hit
the top of the character, will they be able
to be destroyed. Okay? So hopefully, with that, you understand the whole mechanics of what
that bundle is. I know we just put it
in, but like I said, it's important that you understand the whole process
here and why things work. Again, if you've done the
previous flow lab classes, you shouldn't have any problem, and you should be able to
follow it pretty quickly.
4. Character animation: All right. Let's start
uploading some of our assets and putting
them into the game. First of all, let's delete this block because we
don't really need it, and let's move our
character down. Okay. So hopefully,
you've already downloaded the ZIP
file and unzipped it, and then everything that I
said for the first video. So let's go to edit.
Let's go to edit. Let's change our thing to
player first because we again, make sure that we
need to do that. So where it says type,
make sure you put player. We're going to go to Edit Sprite and we're going to go to upload, and then browse for Sprite. Go to character, and
we want the idle one. We click on this
do one first here, click on Open, and you'll
see this Sprite here. Now, this box here,
you can move around. We want it to be the same
square that we've got, so it's 32 by 32 pixels, which is the deft anyway for the sprite that
we've just uploaded. But when you upload new
sprites or other thing, you can actually Do use this blue circle here,
and then you can adjust it. Right? This is why I said that sometimes you can adjust it in flow lab or you can adjust
it with an editing program. Personally, I'll probably advise you to use an editing program, but there are also some
nodes, which again, we're going to be
using in this, which we can adjust to size. So there's a few different
ways to do it. So click. Click Okay. And there we go. We've got our little guy
there doesn't do anything, but we're going to be
adding some animations now, and he obviously moves around. Moves around and he
flips and stuff. Let's do a few things first. Let's go to behaviors. Let's go to run and jump. And what we want is
we want it to play an animation when we
go to left and right, so let's do this. I'm doing this a bit
backward, actually, because I probably should
have created it first, but at the end of the day, it doesn't really matter as long as it like it's all fine. There's no animations there because we haven't
done anything. Actually you want two animations because we're going to have
an idle animation as well. Um we want to go down to start. And then down to start on this one because this is
going to be our run one, and then we'll have
the other one do stop. So stop. Stop. So this is going to
be a run animation. When we press left or right, it's going to play the run one. And then when we stop, we want it to play the idle one. So we just go up means when
the keyboard is released up. It plays this one here. Let me just move this away,
so it's a little bit. Hold down shift. If you want to adjust just a
single of these nodes. If you don't, then it
moves the whole thing. So to I know it's
a bit confusing, but again, as we go
through these classes, it's going to get a little
bit more confusing. Okay? So we're going to
put these animations in, but just to show you, right? And also, we need a once
trigger as well, sorry. So let me put this in here. Start and we want to
loop this animation, and we want to loop
that animation as well. Once when the sprite is created, it's going to get
the id or animation. Once we create that, which
we're going to do in a minute. The minute we press
left or right, it's going to start
the run animation. Once we release the
left or right button, it's going to stop it because we've got these
ones here for stop, and it's also going
to start this one. That's how it should
work. Again, we might need to do some
adjustments again, to do bugs and stuff like that, but we can sort that out. So, let's go back
into our Sprites. Let's do that. Let's go
to animation editor. Go to pick animation. There's no animation there,
so we need to create the new. We're going to call
this one idol. Go. As you can see, we've already got
a sprite there. Well, what we're going to do is we're going to upload them. We just upload, go
browse for Sprite. We've already got
sprite. We got one, two, three, four, five. Okay? We've already
got the first one. We don't really need to upload it again because we've
already done it, because this is the first one
because that's the default. It also always duplicates the very first frame of your default sprite.
What's that five? Let's do five, one, two, three, four, five, one, two, three, 45. Then all I'm going
to do is click on this second square here, and then let's upload
these things here. So the free. Number four. Number five. Now I have a hit play here.
O character moves. So we've got that. That's
our idle animation. Again, if you want to have it slower or faster you
can adjust these, but I think five
is fine for now, again, we might need to
adjust them down line, but let's just leave
it for that for now. We've already got idle. Let's do run or walk or whatever
you want to call it. I'm going to call it run, run. Again, it's going to
duplicate the first one, and then we need to
upload the next ones. Let's go navigate to character, go to run, and we've
got eight now. Because this first sprite
is different because we use the idle
one for the first, and we need to upload
for this first one. Click on that first one for one. That's the first one. It
was eight, wasn't it? One, two, three, four, five, six, seven, eight. This is two, three, 45. 67. And what comes
after seven kids. Eight. That's right.
Right. And then obviously, you can
just see that run. They are really, really
nice animations. Like I said, if you
want to adjust them, maybe even edit them or
create your own or use the assets that really nice artist that we downloaded
the asset pack for, there's different
characters there. So please by all
means at the end of this class when you do
your project experiment. We've got one for id.
We've got one for run. Let's go back out and go
back into our behaviors. We should be able
to do this now. It says animations here.
Remember, this was our idle one, and this was our run one. Click on pick idol. I remember Loop pit because
we want it to loop around, and this one is run. So you've got idle and run. We can see that run
here. If for hit play, you see how it's moving. Then as I move up and down, you see It's going
back and forth. And then when I stop,
does a little idle thing.
5. Level design / Camera: All right. So for the next one, we're going to be creating our level and doing
some cameras. Because the level can be comp
as complicated as you want, I wouldn't advise you to do it as too complicated
for the first one. And also, if you've
done the second class, it's up to you how you
want to design it. So I'm going to show you
two little simple things, and then I'm going to
speed up the video, and then I'm going to show
the other bit for the camera. Okay So, we've already
got the ground. You've already got
this ground here. I want you to also
make another ground. It doesn't matter where. You can put it
inside or outside, or put it outside this
for argument's sake, and call it solid ground. Put space to solid ground. I'm just going to use this
sprite here. Go to Sprites. Again, if you have the
student or Indie one, you'll have access to
these sprites here, but if you have the free one, which is what we're
going to be using, just use the flow labs rights. It's fine. I want you to use
the one without the grass. Okay it's up to you, it's one, whatever, which one,
I use that one. It doesn't matter. Okay. So I want to quickly make a level. I don't want to
make it too long, what we're going to be doing is just like in the example video, we're going to be putting
a door at the front and then a switch at the end. I didn't actually show you
the switch, spoilers there, but we're going to
be doing a switch in the next few videos. Okay. So all I want to do is just a simple way just
to go to left and right. Okay? So I'm going to
speed up the video now and just start
making your own level. Okay, that's my
very simple level, and I want to be
able to test it out. So we're going to have to put a camera onto our character. As you can see here, I've done. Again, it just aesthetics,
since it's highly up to you. I've put the grass on top and then the solid
ground underneath. So it just looks aesthetically
pleasing for me, but you can do
whatever you want. So I'm going to put
on my character here, go to edit, go to behavior. You've got your run
and jump bundle here, and in order to make things
a little bit easier Nita, we're going to go to
behavior bundles, I'm going to go to new bundle. I'm going to call
this one, excuse me. We're going to go to
just click on it, and then where it's this label just going to cut in camera, open bundle, and then we are
going to go to where is it. You'd think that the amount
of times I've done this, I would know exactly
where things are, but I always always
get confused. It's in components, camera. And you've got scroll
X, tra scroll y. And in the previous class, we did a number here. We can choose left
and right here. But I'm going to do it
slightly different today. We're going to click on
infinite x and infinite y, which means you all
infinitely follow the class. The main character. So
let's click. Click or play. I'm just going to see,
that's a bit high. If I can get to the end.
No problem, and I can. Now, our sprite can jump very high because we changed the sprite size and
stuff like that. Well, we uploaded
our own and stuff. A, I think it might
be the same height as before. So we
could adjust that. So let's go back into our
character. Go run and jump. So that's 12. Let's
say, let's make that. I don't know. Let's make it six. Let's see what happens with six. Six is maybe a
little bit to less. Yeah, a little bit to less. Let's do nine. Let's see what
happens with nine. Nine looks okay for now. Again, we might adjust
this in the future. But all I want to do is
make sure that I can get to the end of the level that
I've created, which I can. I can make it a little
bit difficult if I want, but I'm going to
leave it like this. Of course, you can make yours
as complicated as you want. Now, you might have noticed because we put infinite
x and infinite y, compared to the other class, and With the space one where
we put the numbers in. It doesn't have a limit. It doesn't have this limit, see this square box. It doesn't have a limit to
where we can put the camera. If we had this here, and I put
that on that, for example, and I press play, the camera will not move past that
little blue square. Do you see? It moves
within the blue square, but it doesn't move outside. So we just need to just basically clean up our
world in order to do that. So I'm going to go back to here. I can go back to there because
it doesn't really matter. We all I'm going to do
is I'm going to paint a the word in order to so it actually looks like
it's all part of the world. Again, I'm going to
speed up the video here because there's no need for you to
watch all of this. It's a little bit boring. Next. Okay, there you go. I did that all individually,
but if you want to, you can kind of drag little
bits and then you can copy bits and then
you can paste it in, so it makes it easier. But even though I spread it up, it really didn't
take me that long. What I've also done
here is I've done these two little sort
of hanging over bits, on either the left
or right hand side. Again, I've made
them very simple. But that's just so
that your character can't go on top off the level. So if you remember
that one bit in Mario, I think it's the second
level in the dungeon. You can run on the top. Null, that's maybe a feature
that the developers wanted. Again, you can add
that in if you want, but I don't want that feature, so I'm going to try
to block it off so that the player can't
actually go up there. Now, you'll see that, I have done all that bit there. But as you can see, hopefully
the rest is all covered in. I think I might have to do
the right hand side as well. Yeah, I need to do a
bit on the top there. It's important for you
to test your game. So I still need to do
the some on the left, and I still need to do some on the top, which I'm
going to fix now. But what we're going to
do is we're going to do a little bit of a
zoom into the character. Because at the moment
it's too far out, I want to zoom in a little bit. Let's do that first before we actually do
any more adjustments, and I might need to
take things off anyway. So I'm going to go back
into my behaviors, go into camera, and
where it says Zoom, I want to put
something in there. So once I get a number, I want it to be not 100%. I want it to be 150%, 150. Again, you can adjust
this if you want. Once gets that, it zooms internet and you'll
see, it zooms in. Now, it's fine. I might have done
actually too many. I'd probably advise
you to do this first. But it doesn't really matter if you've done it like
the other way. It's just good practice. So you'll see that the
cameras zoomed in 150%, and this is what I'm talking
about with doing sizes. I know this is a camera,
you wouldn't be able to be able to edit this in
a photo editing program, but for other sprites, you can use nodes to make things bigger
or larger if you want. Okay? And what I've been said, let's go on to the next video.
6. Health / Damage: Okay, we've got our level, our simple level, but let's make it a little
bit more interesting. Let's add some elements
in let's add some danger. Okay. Let's go to create
a new Sprite, go create. I'm going to call this spike. As you can imagine, it's
going to be a spike. And we're going to
upload a new sprite, go to assets, go to trap, and it's just one sprite
there, click on Sprite. Click on the spike, sorry.
We've got that there. Et's do one for now and then
we can add some more later. Let's add some mechanics where
we get damage with this. Again, if you've done
the previous classes, you should know
how this would go. Let's go to behaviors. Let's create a new bundle,
that's says damage. There. Make it all
a little bit neat. Damage. Damage, open up. Let's do this. Let's go
to GY first and do label. Again, remember, if you do a
GY or any label like that, it puts in a left
hand corner there. And let's call this HP, then let's make this
O, I don't know. Let's make this
black, for example. Again, you can adjust the
size and stuff like that. And hit play, and then you'll see it's in
the corner there. Maybe you just
moved this around. You can click on
Layer and go to use interface to adjust
this if you want. I want it to be
there. Hit on play. That's fine for me. Remember, go back to Game World if you
want to go back to it. Go to behaviors. Let's
do some stuff, right. We've got P there. We need another one, which
is going to be our number. That's going to be Let's do five because what's the
start up five or whatever. And we need to get some numbers. So we want some
collisions. Let's do this. We want a collision with spike. Collision with spike,
and it's going to get minus one because the spike is going to
do minus one damage, and it's going to go
to our overall HP. Again, you can label
these if you want. It's probably advisable you do. I don't do it as much as I shod. But yeah, we, we might be using this
for a few other things. Let's just do damage
actually. That's damage. Let's call this total H P. You don't see this in the
game, it's just again, just for you to understand, and that's total HP, which is going to be five, and then that goes to value here. So let's move up five
W's five, five is here. So let's go back into the world. Let's make that.
Oh, I don't know. Again, you can make
it the same color, you can make it different
color. It's entirely to you. So you'll see now. Let's move that up so you can actually see
it a bit better. We've got our HP five. If we hit a spike,
I've done a mistake. And this is you do
little things like this. What I've done, does anyone know what I've
done a mistake for? If you actually look at it,
I'll give you a few seconds, if you look at this node here. Spike gets minus one, but then it also gets
five, and outputs five. What I need is minus one
needs to take away from this. We just do that easily by taking that out there and
putting that there. This is like a plus
of minus sine. Now you'll see it work. They go. But as you can see, it
goes down infinitely. We just need a condition
where we can reset the game. We go to logic and maths, go to filter, Well, excuse me. This goes in. And this is less than
or equal to zero, sorry, less stan
or equal to zero. Less down or equal to zero, or less than one, it's up
to you or less dan one. I like I said, there's many
different ways you can do it, and it depends on this filter like what maps or calculations you want to do, you can choose different ones. But this one it's fine.
So less than one, we want it to reset the game. So in goes to less than one, and then game flow,
go to load level. It passes this test, it passes this test, and
it just restarts current. So it play, four, three, 21. That's the last one,
and do it again, should restart, and
it restarts the game. There you go. That being said, let's duplicate some
of these spikes. Don't put too many
down. Put a few down. Again, I would experiment
and see if you can actually make it to your end level again, Because that's really important. Because if you can't make it to the end, especially
on the first one, it doesn't matter
if you lose one HP, just make sure you
don't lose all of them. Make it slightly challenging. Oh There you go. I can make it to the
end. And obviously, I can make it to the other way. We've got that. One thing we forgot to do on the
previous one, but it's fine. We can do that now is we
want to have a background. So in order to do that, we just go to background.
Click on here. Let's click on create. Let's just do
background, background. Edit the sprite. Let's upload one of the sprites
that we've got here. Background, let's do
background level one. We've got that there. See how
we've got that like that. That's one of clones, so it covers all of this here. Don't worry about,
I think I've done a mistake there. I have. Go to be careful on that. You just need to make sure
that you cover this blue box. That's all you're going to do because we're going to be using something called
repeating background and a power x to make it a
little bit more interesting. So it doesn't really
take very long. Now if I hit play, it's fine, the background will
obviously stop. We want to change
that in the camera. Go back into your game world, go to edit, go to behaviors, go to camera, open
up the bundle. Os camera here. We want repeating background, and we want to
change this power x. Now, power, like if I showed
you before in other classes, it makes it move at a
slightly different pace. If you like this one, I've
got square there odd. But if I got If I do a parallax, you'll see it moves at a
slightly different pace, Let's do 50 like that. Now, see how it moves slightly makes it move slightly
further away. I need to fix that square. Where is that square?
We it's up there. There you go. So
we find now? Yeah. See? I've done it to what
did I do for the Poalx? I think it was 50. You can adjust it to
whatever you want. You can make it if that's
less, and then that's more. It's 70 or whatever it's
tied up to you. Okay. So there you go. So we've changed the background and we've added some HP and some
damage to your character.
7. Collecting / Sound: All right. Let's start
adding some other elements. Let's start adding some fruit to the game and some things
that you can collect. Okay? Let's move my character
over here for now. I'm going to create a se right. Call it fruit. We're going to be doing a few
things on this. Fruit. Let's upload just a
single frame of the first one. Fruit this first one here. Look, okay. We've
got that there. Put that close to the character, because we're going to
be experimenting and you can move that away
afterwards if you want. I'm going to move
this over here. You can actually zoom in if
you do the scroll will, okay? Let's go let's do
some animations first because last time
we did we triggered it with all the nose
without the animations. T's do the animations first
just because like I said, it doesn't really matter
which way you want to do it as long as you've kind
of got a slight plan. First, let's do a
idle animation. Because we uploaded
the first id one. This one here, we just need
to do the s. It's seven. Let's do that. One, two, three, four, five, six, seven. Again, we're just going to
upload each of the sprites. These are all the correct size because like I said, I've
changed them before. They really really nice
ones, that's three, that's four, five, six. Oh. And seven. And then you can see what
the animation is like. There you go. Nice
low animation there. And then we just want another
one that says collect. This is what we're
going to do when the fruit or whatever is collected. We're going to upload go
to navigate to collect. There's only five on these
and these are different, so we want to upload
each single one, so we go first one,
and it's five. We've got that one there,
so one, two, three, f five. Let's go to two. T 34 and five. I will say this for Flow lab
compared to any other ones. I don't think it's great
for doing Sprites. I know it's
integrated and I know a few other ones
integrate as well. F my understanding,
I think for Sprite, you can upload like
a whole strip, which is what you would
get in the assets on it, and then you could
just pick them up. You won't have to split them up. But again, each game
engine is different, each program is going
to be different and that's just what
they do for this one. That's the collecting
one for for the fruits. Let's start animating that.
Let's start doing that. Once get to animation. And we're going to do id, and we're going to
loop that animation. So you can see it
doing that there. Then if it gets collected, if it gets a collision
with a per or the player, it will then do an
animation of collected. Then once that's done, I
want it to delete itself. I don't want this one to loop,
just one I want to loop. We've got loop on that one,
but not that one there. Hopefully, when I collect it,
see how it goes like that. You might have noticed or you might not notice
if you haven't played. I couldn't go past the object, so it was still solid, so I want to change the
physics on that. I want to make it solid and
I want to enable collisions. I also want to make
this display order two, or display order three. It's entirely up to
you, but I just find that the sprite would be
better if it's in front. So see how it goes like that, and then it just disappears. Now, there's one final
thing about this is that I probably would like it
to be a little bit bigger. This is where I'm saying
that we can actually edit the size with a
node in flow lab. We've already got
the once node here, I'm going to get a number. Again, I'm going
to make this maybe 100 and let's do 150 for
arguments and we'll change it, and we're just going
to go to properties, and we're going to go to size. We're going to go
to the percentage. Now it's slightly bigger. That might be too big,
so maybe we'll do 130, and the sprite
slightly smaller now. Alternatively, if you want the sprite for whatever
reason to be smaller, you can make it 50% smaller. Now it's tiny. But I think 130 is a pretty
good size, so 130. We've got that there,
which is nice. We also want to now try to do some stuff with
the actual character, just like with a HP, but we
want to have it collect, so we want to have a
finger it collects. Let's do that. Let's go
into our behaviors here. Let's make a new bundle, call it fruit. Do that there. See how a lot
neater this is now. Always click on it
and then it opens up. Always makes a
mistake. So fruit. Fruit, go to upper bundle. And we're going to
do something very similar to what we
did with the HP, but we're just going
to do with fruit. We're going to have two labels, let's do label label. One is going to be called fruit. Fruits have seeds. And we're going to
have this started at zero because we want
to make sure that we have zero seeds at the start. I'm going to make that black, and I'm just going to
make, I don't know. I'll make it red just because the other one is red as well. Go back into the game world, go to use interface. Let's move that over there. Fruit zero. Make
sure that's okay. Yeah, I'm happy with that.
Go back into my behaviors, and let's add this all up. Trigger collision. Go into fruit. This time we're going
to go get a number one. Remember before it was
minus one for the spikes, it's going to go into
the overall total. Let's do collect. Let's
go fruit or collect. And this is total fruit. You don't have to
do this, but again, it's just easier for when
you go back to make notes. You can also make
notes by click on on this note thing here and say, this is for collecting
fruit points. You can do whatever you
want. It's entirely up to you. No one
else sees this. It's just again for you
to know what you're doing before when you
go back to your game. So you collect the fruit, which is going to be one point. This is going to be
the total fruits, and then that's going to
go to the actual value. So if I make a few
more fruits here, I'm going to do like that. That's fine. Now, you
should see the fruit go up. Now we did have
it so that we can actually shoot the fruit before. Put on spikes. But we'll do that
for the other bits. I think it's good that we
should have some sounds, it's important to
have some sounds because at the moment it's a b, it's a flat, isn't it? Let's go to fruit where
we have collisions. Let's move now across there. Let's go to sound. Have that one there, it play. Let's make this say 50%, 40%. Let's choose the sound effects. Let's go to what would be good? Eight bit pickups. I like that. Fx number
six is quite nice. Again, you can choose whichever which one you want. It's
entirely up to you. Now when you do it.
It's quite nice. Also, let's have a bit of
background music as well. We're going to have
another bundle for that. We're just going to have music. Let's go in there. Music. Let's open the bundle, and we're going to
do something very very similar to what we did for the second level second
class for the space one. We want once node. We want a sound node. Here, which we go to play. We also want a Where
is it? A ease node. Es goes to start, out goes two volume. We go ease out, and then from say, I don't know. What it, let's say, 50%, and then we can
leave it as quadric. If we want, again,
I advise you to experiment with the
different ones if you want, or maybe we choose it to linear. It's entirely up to
you. Like I say, just experiment, you can choose
which gent one you want. Go to sound effects, go to mic. It's entirely up to
you. Like I said, it's That's quite nice. I'd probably like
that one. Do that. And then now we hit play. See how it zooms in,
like goes in slowly. If we did quadric There's
not too much different. They do different
things depending on what you've
connected them to. Some of them, you might not find that they do anything at all, whereas, I think these will
probably be very similar. Yeah. They're all
very, very similar. But again, if you
connect them to maybe sizes of
movement or whatever, you may find that
the different things do different elements. Just with all the nodes, I don't think they have it here because there's a
description coming soon, but normally you have all the different ones or
what it all does here, okay? So I'm just going to leave it as linear or quadrix up to you, and I'm just going to do es
out because it's quite nice. And there you go. Characters move around,
nice little music, ready for the next video.
8. Adding Levels: Okay, so we've got
the first level here. We want to have
some other levels. So we want to be able to go
to the other levels as well. So let's do that first, and then we'll go
back to how we're going to transition
to the next level. So here, it his level one. It's due to new
level. Now, again, make sure if you are in
a free free account, you'll have I think it's five. I think it's something
like that. I can't remember if I look at my notes. If you have a Idi one or student one you
can make unlimited. Again, you can buy
an Indi count or student count for me and you can make as many
levels as you want, and you can go back
to the free one. You'll be able to
still edit your game, but you won't be able
to make any new levels, because again, you will go over you would have
gone over your limit. So, let's go to level two, and let's just start recreating little bits because we want to be able to
transition to this level. So the first thing
I want to do is I want to create background to. And I want to upload
that other sprite. So level two. Got that there. What I'm going to do is I'm
going to speed up the video again just to make
the second level, but it's like what we
did on the first one. And then I explained what I did or if I did anything
different compared to the first. Okay, so what I've done there is I've test as you can see, if you've seen the
whole speed up thing, I duplicated some areas, I copied some areas, and then I tested each bit, and then what you
were doing like game design is you would
move your character so that I wouldn't
have to go always to the left to the right
of the to the level, k? So I basically
moved my character around to make sure there
was any gaps or whatever. Okay? So it's a
little bit different than my previous level. Okay. So what we want to do is, we're going to go
back to level one, Okay, I'm going to move
your character over here. I'm going to do create.
I'm going to do door. And I'm going to go to browse. I'm going to go to Sprites. I'm going to go to blocks. Yes, I'm going to go to blocks. I'm going to choose
this block here. You can choose whatever door,
which one, it's up to you. Do door. And then I'm going to do an animation that
this says open. And then I obviously going to do the door animation for open. So when it's normal, it's just like that,
static, it's normal, normal thing, and then for open, it's just going to
have a single frame. So I'm going to have that there. I can put that actually in the
game there if I wanted to. It can actually be part
of part of the game, and I'm going to make my
character display order two. And I'm going to make the
fruit display order free. So if you think of it
like layers of a cake, free is higher than two and so on, so it will show up more. So I'm going to put
the door there, now and also I want
to make it not solid, but enable collisions, just
like we did with the fruit. So I can go in
front of the door, but I can't go beyond it. I don't have a I need
to fix that bit there. So I can do that bit by just clo me, just that
bit down there. Right. So now we've
got that bit sorted. I want to go to the
other side level. I want to do a switch.
So I'm going to go here. I'm going to create a switch. Go to brows. Go to objects. Yes, I'm going to
go to the red one. That's for its default. Click on animation, do on. I don't use a green
one. Now, you can use any which ones you
want if it's up to you, but just for Es and
just for this class, I'm just going to
use these switches. What do we want to do? When
the player hits the door, we want the player to be
transported to the second level. However, we don't want that to happen unless the switch
has been triggered. So let's do that in bits. And as you can imagine,
we need to use switches and we need to use some
mailboxes as well. So collision, W player, makes We'll make you
go to the next level. I just going to do next level. But this is wrong. Because
when it hits with the player, it's going to go directly
to the next level, which we don't want. We want to have
something in between here. We want to have a switch. Let's put a switch
in here. I to go, and this is default to off. What we want is we want it to have we want it to
send a message. We want one sprite to send a
message to another sprite. Let's go to animation, we've already got the
animation thing on here. And then we want a mailbox
because we want to receive it. What we're going
to have is we're going to just have
this cat open. And we haven't done
the message bit yet. We're just done the
receiving bit yet. The receiving one, the
message is going to be open, and that's going to
turn this switch on, which allows us to collide with the player
to go to the next level. Also it's going to
start this animation, and it's going to stay on
the last frame when done. If I just play this now, you'll see that
these won't trigger, but see how it goes
into the switch, but nothing happens
because it needs to be on. The switch needs
to be on, and then we'll show that with
the door opening. Just like I said at the start, instead of going right to the
end to see if it all works, what I can do is I can
just bring this switch in here, Mave that over there. I'll delete it for now. We can just test it with this. Let's do the switch. Let's go to the switch, go to behaviors. Let's go to collision
with player. We want it to also
have a switch, and we want it to
turn itself off. This is on be default. The only reason is that is that we don't want it to keep
on ting and afterwards. We don't need it to keep
sending messages to the door. We just want it to do it once. When it hits the
player, the switch, it's going to change
its animation to on. Okay. Stay on last frame done, and also it's going
to send a message. It's going to send a
message, which was open. Keep in mind that when you send messages
to other sprites, it is case sensitive. If I do a capital
O or do whatever, it needs to be exactly the
same as the receiving end. They need to be exactly
the same. So pen. I'm going to choose the
objects to send it to. We're going to do door, because that's the door, and
you'll see it work. So you'll see Nothing
happens here. So that goes to the door. I've made it solid, so
I've done a mistake there. You see the door and go through, and it'll go to the next level. So let's just fix
those little bits. So enable collisions, so
solid, enable collisions. Let's go back to level one. We're also going to have a sound like a clicking sound
or something like that. Let's do that maybe
level at 40 or whatever. Effects. What do we want a switch? That's nice. Okay, let's have that. Again, you can choose
which one you want. So now see how he goes there. Might be a little bit too low, so you can increase
that to I don't know. Bit higher. Let it go. And then it goes to
the next level. Okay? And then what we can do is we can basically move
right to the end here so that now the player
can actually go need to go to the right right to the end and then go back
to be able to do it.
9. Adding Enemies: C. Okay, so we've got our levels that
we can progress through. We've got our character,
we've got our collecting, and we've got our spike damage. Let's actually add some
enemies into this. I'm just going to move
some stuff around. Depending. It really depends on how you've done it on yours, so I'm going to
delete that here. I'm going to delete
that. I'm going to put that spike there. That's because I want to
rage some things around. There you go. Yeah, that's fine. Right. Okay. All right, let's create a sprite, and
let's call this monster. Me. Sir. This is going to be moving, and it's going to be
affected by gravity. That's fine. And then
we're just going to upload our sprite for this. We go to assets, we go to Enemy, and we're going
to do enemy walk, and then we're just going
to have this person here like that. And then that's
fine for the size. We've got that one.
We just want two. We want to walk one. And so we're just going to do that because
it's the first one. We don't need to worry about it. Then how do we need?
We've got eight? Let's do eight, me, two, three, four,
eight, seven, eight. Again, we're just
going to blow these. 34. 5678. He had the moves. Hit play. Character
moves like that. And then we're going to have
another one that says hurt. Then for that one, we just need four animations and
we need four all of them, so just do that one, one, two, three, four, then that's pretty much I
think apart from the Boss one, which we're going
to be doing later, we don't really need
to upload any more. There you go and then
that's. So that's when the leve gets hurt. Right. So let's
just sort that out. Also, we'll make this direction left, forward direction left. Just because like I said, the flow lab default is right, looking right, but
because the sprite that we uploaded looks left, this is for argument's sake, do that. Let's do this. Me. Down, down there. We need an always trigger. Let's get an always trigger.
Let's get a number. Let's make that five,
so it gets number five. Gets that. Then we're
going to go to velocity. Velocity, and we're going to
do forward. Which is good. Then we're going to have a flip. Then we're just going
to have a collision. Collision with anything. This time we're going
to have a toggle. Because we want it to tuckle
back and forth, okay? So we can see that working. So if a hit play,
goes back and forth. That's right. So it hits the
spike and it hits the wall. I don't know why it does
a little bounce before, but like I said, odd little things there. But we can fix little
bits like that. Let's do the animation so once. And we're going
we're going to have this animation loop animation. And that's not. That's going to be walk. So loot this animation there. So now that our animation,
our character walks. Now it works a bit better now, doesn't seem to go a bit funny. Go a bit funny there
for some reason. It might be because we've
got too many spikes there, might not like what we're doing. Like I said, sometimes you
have to play around of it. If I do that, I
bet it will work. Yeah. That's fine. Like I said, you just have to play around
with what you want to do. We can actually do this so that there's an invisible block here, which we're going to
be doing in a minute. So just for argument's
sake, take off. We also want to do
something else. So we're going to do a thing where we haven't
actually created yet, but we're going to do
it for the next video, but just for argument's sake, we'll just do a little bit
now, so it's a bit easier. We're going to have
collision with something. We're going to just put it down for do now for argument's sake. And then when it
collides with the door, but it's not going to be the door because we're
going to change that. I want it to play
the her animation, and then after that, it's
going to get destroyed. De gets destroyed. Because this door,
we're going to change this trigger to bullet. We haven't actually
made that yet. But we'll do that
for the next video. But I wanted to set some things up just to
make it look bit easier. If we put our character
over here and we do this, you'll see our character
just starts to flow off, and it's not very
good and it moves across. We don't
really want that. We want to change a
few little things. Going to do a thing here, and we're going to create a thing called let's just
call it viz block. Okay? Now, what this is going to do is take solid off
and enable collisions. This is just going to be
triggered by the enemies. First of all, we need to
make it to be invisible. So we just go to
once, get a number, which is going to be zero, and then we change
the Alpha to zero. Okay. So now that block
is invisible, okay? There's nothing happening
there because we need to do some
little bits. Okay? And now, if we do this, Yeah. So I just had to move it across. If I was doing it there, it
starts to get confusing. So just put it on
the corner there. If I move this over here, and
move the enemy over here. I can still go through it, okay? So it's just for
the enemies. Okay? And again, if I want
to have I don't know, maybe I want the enemy
to stop from here, and then just go from here
to here for this bit here, you'll see the enemy only goes to that bit
there. Do you see? Looks like it's on its path, but really all it's doing is just hitting this block
and then going back, and then maybe we can make
this a slightly nicer color. So we know what it is. We've got that. We also need
to have the enemy hurt us. We go to damage because
we've already set it up, we just need to do slightly different, so we just do damage. This was spike
damage, wasn't it? Let's just change
that to spike damage, and then we'll call this other
one here. Monster damage. And let's just say
for argument's sake, it takes two me,
takes two damage. And then this one is
triggers, collisions, that spike. This is monster. If we hit a monster,
it's going to take two health for our five, and if we hit a spike here
only going to take one. We can see that.
We've got five there, now you can see it
between a line. So it takes it quite lot down. So we need to make sure that
we don't hit the monsters. And with that being said, I'm going to now populate, excuse me, I'm going to populate
the two wells are done. So again, I'm going
to speed it all up. What I'm also going to do
is I'm going to set up the same door and switch
on the second level. And because the way
we've done it is, if I show you quickly, we've done it to next level, because we're going to be
introducing a bus level, it will still all work. So it'll all still
flow quite nicely. Okay, so I've done the
first level, which is here. And I had to if you can see, I've made some slight
adjustments as well. I had to move some
ff stuff around. It seems like the
character likes it, or the enemy likes it if you're
kind of slightly to left, so it doesn't actually
go straight into it. So it's not directly
in front of it. And then I've done a slightly
longer level for level two. Okay. So we've got our enemies. We've got our progression, and we've also set it up so that the enemy can be destroyed,
which we're going to change. And also we can set it up so that we can go to
our boss level.
10. Shooting: C. We've got pretty
much everything set up, but now we just need to have a way to actually
destroy these enemies. So let's do that. So I'm just going to go
back to level one, just because it's easier. Zoom in a little bit.
Let's go over there. And so I'm going to create a
new sprite that is movable, but is not affected by gravity and enables collisions, okay? And I'm going to
call this seed or shooting seed, shooting seed. And I'm just going to
choose this browse. Sorry, upload. Sorry because
we want to upload it. Which's just going
to be the bullet. So it's in character bullet. So it's the bullet seed.
We've got that there. So that's what we're
going to emit, but we don't actually
want it within our world because we're going to be emitting it each time. So actually I can
actually delete it. We're going to go
back into our fruit. So what do we want? Every time when we have a fruit, we're going to collect
its seed inside, and then we're going to be
able to spit it out like, you know, I don't
know, like a cartoon, when it spits out the seeds. But every time when
it spits it out, we want to deduct it from
our total fruit number. So it's not going to be
too difficult to do. First, we want to
trigger, so we're going to have space bar
for our trigger. Click on keyboard. Click on change key, it on Space bar, and then
that does that. Then we're going to have
a switch because we want it only to turn on certain
times, down goes to in. This total fruit.
This total fruit is when it's greater
or equal to than one, greater down or
equal to than one. When it's zero,
it won't go on y. But if it's greater
than or equal to one, it's going to pass and turn
it turn this bit on here. But if it's not, it's
going to turn it off. That way we have a way so that when this total
fruit is one or more, it's going to turn itself on. But we also need to
do some other things. Actually, I'll show you here because it'll be a lot easier. Then we're going to go to emit. And we're going to emit. We're going to do shooting seed. We're going to do rotate object, and we're going to do force as, I don't know, do five, and then like I said, we'll
probably have to change this. If I hit spacebar, let
me move this up. This. I if I hit spacebar, see nothing goes
in, I get a seed. Now the switches on,
I can shoot it off. Okay? C. I can shoot as many
seeds as I want. If I want the seed to
be a bit more bouncy, what I can do is actually
can go into the physics. I can make it solid, and I can change to bounce
right up, okay? And now, when I do it,
See how it bounces. But it disappears
a bit too soon. Again, I can go back into my character and then
change to I don't know. We can change it
to six, and then it goes away after
15, for example. Let's see what that look like. What that look like. They go. And it pushes you back. That's quite nice,
I quite like that. That way, we have
to make sure that we to be careful what we do. But as you can see, as I turn on the switch,
it never goes away. So we need a way
to turn that off. So we could easily do
that by just adding a number, a minus one here. So every time we hit space
bark goes minus one, and it actually adds
to this total fruit. If I put this down here
to make this a little bit easier to understand. Hopefully, you can see
what's going on here. When we collect the
fruit, it adds one. When we shoot the fruit, as long as this switch is on, it goes minus one and it will
reduce this number up here. We've got two there,
so that means we should be able to
only shoot twice. 02, it turns off the switch. I can't shoot anymore. We've got that
sorted. Then I guess, finally, what we need to do is, let's just do it so
that we can actually shoot the Shoot it, so it actually makes a sound. Because again, it just
adds to the whole thing. Let's just do that here. Hit play. Let's do that
as 30, doesn't matter. Let's do effects. Let's do what would be good?
Let's go eight bit. And let's go. The thing is, we don't want an
actual gun sound. We just want a
weird little sound. What does Tm do? That's not obviously going to
work. We a click. Yeah, I mean, it's not designed, but it sounds like I'm just trying to try to
find some sort of, I don't know, organic sound. That sounds I like that. Let's see. Maybe that would make that it'll
bit higher as well. And let's see if that works.
Yeah, I quite like that. It's very subtle. Again, we can make that and a bit louder. Maybe that. Again, it's entirely up to
you how you want to do it. Now, if you know, remember, we did a behavior here where we had the door as our collision because
we already set it up. Obviously, as you can
probably imagine, we're going to set
this to shooting seed. Okay. So set that
to shooting seed, and now what you'll see is. Actually if I go back up
here it will be a lot easier. Get some seeds. And the character
disappears, okay? So that's what we
want. Miss. Oh, no. Oh, yeah, got. There it go so you just have to
be careful. Okay? I'd also probably
not put any fruits and stuff where your carrot is. And then what you can do is, if you want is if you want the character to stop moving while it's not going anywhere, all you do is get a
number, get that zero, so when you go hit, goes to get sets it velocity to zero,
and it will stop moving. And now, The character will stop or the enemy
will stop moving. We don't stop moving there.
Didn't stop moving there. Why didn't that stop moving? Sometimes you have to
refresh flow lab to see if it's just a bug, which it does sometimes happen. That doesn't work for some
reason. Why doesn't work? This is what I'm talking about. Sometimes you have
to work out why, is this sitting? Oh, I know why. So it's still getting zero, but then it's doing
the always thing here. So it does it for
a split second. So it does the velocity
for a split second, and then it goes here,
which is really annoying. So all we can do that is just a simple
change to a switch. That goes in, that goes get. And then that's on. And then that can just go off. So that will turn itself off. Okay? And then if I
just do this here. Actually, to be
honest, we probably won't need this zero here. Let's just try out and see if
it works without the zero. Be it's off at the start.
Sorry, my mistake. Let's try that one
more time, shall we? So character move
in. Yeah, stops, and then it just dies, basically, which is nice. Yeah, Okay, so we've got
a our enemy to stop. Again, it seems
entirely up to you if you wanted to
put it on or not. And it's always important
to look back at your code. Like, I always still
make mistakes. Any game developer is
going to make mistakes. And I think it's important
that I keep those mistakes in and to show that I'm
obviously not perfect. I'm definitely not a
master at my craft, but it's good to kind
of go for your code and to kind of understand or whatever you're
using and to go way. Why did it not
work? And sometimes it can be a bug
within the program. Sometimes, more cases th not it's a problem
that you've done. Sadly, within flow lab,
there's no way to check it. I know in our programs like game Maker studio
and stuff like that, you can actually run a check, and it will tell you if it's an issue with what you've done. So there you go. We've
got a shooting thing. We've got levels, and we've got enemies, we've
got spikes, and stuff. We've got our core game thing, right next, we're going
to be doing a loop. Like I said, right at
the start of the video, we're going to be making
making this loop, and that's what we're going
to do for the next video.
11. Start / Game Over: Three. Okay, let's
make a full game loop. So at the moment, we've
got level one, level two. We're going to make
a new level now, and see where it says free here. We're just going to put
that so it's level one. So it's one, two free, and
you can't dragon drop. You have to actually change
these numbers around. And we're going to have
this called start, and then we're going
to do new one, and we're just going to
have this one called end. Okay. So what we want, or what I'm going to ask you to do is basically you
start at start. You don't progress to level one, you can progress
to level two, and then afterwards,
after Level two, you've completed the game, you go to end, and then it restarts. Okay, that's called a
full game loop, right? Now, I'm not going to make it too neat here because I want you kind of kind
of to experiment and try some things on the end, but I'm just going
to show you the basics of what we're
going to have. So load it up, click on
game levels, click on Load. And up here, we're going
to just create a sprite, and we're just going to
call it start control. Okay? We don't have to worry about what the sprite looks
like because the game, but the player is actually
never going to see it. Okay? So go to edit. It's really, really simple. We're going to go to GY,
we're going to do label, and we're going to go I don't
know, call it your game. Little guy platform. Because he's a little
guy who shoots seats. Little guy platform, going to make it centers
and stuff like that. And then I'm just
going to hit space. Return a few times, and
then I'm just going to do press S to start. Again, you'll make
this a lot easier, and just drag it
off across here. So little guy platform,
press S to start. It's just a title. And then you can choose the
title here as well. So little guy platform. Okay. And then we've got that for the label and then we're just going
to have a trigger. So trigger keyboard.
Click on that, change the key to S. And
then that goes to gain flow, and that goes to level one. Okay? No x level. We want that to be level one because we always want this to start to go to level one. So we've got that for the start. We can obviously change
the background if we want. You know, It's
entirely up to you. I don't know make it green. Actually, let's not make it green because the text is green. Let's make it I don't know, like a orange kind of color. See how that looks.
That looks okay. I could probably
change the color to let's change that
to maybe a nice white. White's always good. Yeah, will go a platform press S to start, press S, and it goes
to this first level. I haven't put any music
on there, but you can, if you want, and you can change the music on each
of these things. Just keep in mind that when
your character is there, it's going to load
the background music in because it's in his logic. So if you want a different
music for each level, you're going to have to
take it out of the guy, and then just like we
do the start control, you just do a music control, maybe you have a level control, and you put all the things
that are just for that level, and you put it into there. So we're going to do the
exact same thing for n. And this one we're going
to call this end control. Again, we don't have
to worry about what it looks like because
it doesn't matter. You can, if you want,
entirely up to you, and we're just going
to do GY, do label, we're just going to
have well done U one, and then press to to play
again, restrt, I's up to you. It's up to you. Just do that. Then I'm just going to
put that in the center. Well done U one, you've
completed the level. So that's a sens up to
you L et's change that. Completed again. Complete again. Then press press artery staart. Again, we're just going
to do a collision. Trigger is now r because
that's what we need, press R, and then gain flow. Now gain flow goes to start. Doesn't go to level
one, goes to start. When we go in this level, well, then you've completed
the game, we press R. It goes little guy
platform, press S to start. Now, if I just move things a little bit closer, it's a
little bit easier. I'm going to move
the switch here. Excuse me. Move the switch here, and then I'm going
to do level two. Move the switch here. You'll see the full loop now. So it's just like a full game. So we've got the menu screen.
You can have animations. Like I said, you can
experiment at the end, press art to play. Obviously, that switch will be at the end, so I can open it. I'll go to the next level. Obviously, this
is level two now, and then I'll go to the end. Because we set it up as go
to next level for the only, it will go down that list, and then we just
press R and S. So I can replay this game
infinitely basically. And the goo. That's what a
full game loop is, right? So just means that you're
not using a refresh page or have to restart the game
each time. And there you go. Make sure that you want to
do little bits on that. Next, we're going to be
doing the boss level.
12. Boss Level: So we're pretty much near
the end of our game. We're just going to be
creating a boss level now, and then our full game loop and a full game for our
platformer will be finished. Obviously, these are the basics, and I want you to be able to experiment a little bit more. So go to game level, go to new level, call
this Boss level. I want you to make this
level number four. So it goes start, level one, two, boss level, and then end. I would just go level boss,
actually just to make it. L be easier. Go here, load that. Again, I'm just going to do
a very quick thing here. I want to speed it up
because there's really no need because we're just
going to make it very flat. But you can make this as
complicated as you would like. I'm just going to do a
full flat thing here. I'm not going to bother
doing too many of the sides because you know what to
do now for when you do it, you can make it as
complicated as you want. Okay? So we've got our
boss level here. And then I'll not bother doing all the background
because again, I can put the background in. I can go to background here, I can use one of these labels
here, background level two, just add to level,
and I can add this in just like normal. Well done a mistake there. Um So we've got one
more sprite to use, which is the mushroom guy, and then we're going
to be changing his size because we want
something unique to happen. Now, Again, when you're thinking
about your project, I want you to think about, Hey, can I add some other mechanics when
I'm creating my own level. Can I put that there?
And then put that there. Let's move that down like that. They go. Right. Okay, let's create a thing. Let's add a few
fruits because we're going to have to try
to kill this Boci. So let's do that.
Put that down there. And then I want to maybe make
a bit of a platform here, so go up like so you are, and then I'm going to
create this guy here. Do this. I'm going to
call this mushroom boss. I'm going to go sprite. I'm going to upload
this enemy disc here, and there's ten levels,
ten frames here. The first one, I'll
speed this bit up because you've seen me
upload this a few times. We just have to make sure that
the thing is called walk. 345 6789. There you go, so we've
done all the ten there. We'll just see how
the animation works. Nice. If I put our
character here, I'll put our character here. T doesn't look very bossy like, does he because he's
just quite small, so we're going to have
to change the ft bits. He's movable. He's big, he's affected by gravity, and we need to make his forward direction
left because he's looking left,
stuff like that. Let's put, that's fine.
So we have that there. Let's make him walk first, just like what we did before, so always get six, five, the ss fine is fine. Always gets five, and
we want velocity, forward, collision with anything flips that are obviously around. Just like the other
one, flip togal back, and then we want
the once node that gets the animation
of walk. Ex me. There you go. And we just
want to loop that animation. So now you can see our guy, he's moving around quite nice. He's a bit floaty at the moment, we're going to fix
that because it's just the way we put
our sprites basically. Okay. So he's quite small. He's not really a boss kind of boss character, so we
want to change that. So let's go to number, and let's make
him, I don't know. Let's make him 300
times the size. So once and then we
just do these in bits, size, percentage, Let's
see how that looks like. It's a definitely a bit
more like a boss now. I like that. Reason
run away from us. I don't like any floats, so let's change that. So we probably want to change. So with Flow lab, the default for
collisions is circle, just like it was for right,
so we want to change that maybe to square and
see if that fixes that. Again, you might have
to change little bits. Okay, that's a bit better. Okay, a little bit of
a ball jump there. Okay, cool. We've got our guy and he's going like
that. That's absolutely fine. Let's move him back here because we want
to do some stuff. We want to have a collision
with the the seeds, o? Shooting sets. Yeah. But every time
when we get it, we want it to get a number. Okay? So we're going to do minus excuse me, we're
going to do -75. Again, you can change this
to whatever you want, okay? Put that over there. Every time when we
shoot the mushroom, it's going to get smaller
and smaller and to eventually once it's zero, once it's one or less, we're going to have it be destroyed and then we'll
go to the next level. That's how we'll progress
to the next level. We just have to have a filter, and then we'll just have in, and then less than
one, or an one. It will basically
destroy the sprite. And it will go to next level. Maybe have a victory. We can have maybe a victory
point, as well. We have this like
victory, sounds. Let's have a Let's see what's
good for a victory Success. Yeah, they go. That's good. So I have that. Because we don't want it to
go straight away, what we'll probably do is we'll put maybe a bit of a timer in and then we'll progress
to the next level. And then this will go to n
level because this is now, we'll just do next level
because it'd be fine. So we'll shoot the seed. I don't know, size, like overall size, and
this is reduced size. Okay. So we'll get -75 for each one until
this is less than one, and then it will destroy
and do all of this. So let's see if that works. So loads of seeds there. Obviously, you'll met
you'll change that. You might find that the boss is a little bit too small, even. You know, 300 might not be
big enough. So they go. They go, Well. And then it should go
back to next level. Why is it not going
to next level? We have to work out,
work that bit out, that's a bit there. That's fine. Oh, I know why because it's if it destroys a sprite, then it will have no
nodes to connect. So it will go less than one, and then it'll do it. So
let's try that again. You might want to have
another control for that. There you go. And
then it goes, S? Because we had destroy here, it would go it would play that, do that, and do that
at the same time, but it would start the time but be Dena
Ta would disappear because the sprite
has disappeared and would no longer be able
to low the next level. And there you go. You've got a full game loop with a standard level
to just like Mario, just like Sonic, just like
any other platform or game. Obviously, those have a
lot more effort put in, a lot more animations and
stuff like that, at mechanics. And then we got a way to shoot. Again, you can have
it so that if you want the enoters to
be destroyed on top, all you would have is collision. And then you would have
the top top and bottom, so it will be able if it hits the top or the bottom of
the sprite, it's just fine. Remember, if the Sprite isn't
just sitting just right, maybe do a square on
chain like try these out, like I said, Always
experiment, okay? When I'm doing
these things when I do these tutorials, sometimes, I slightly forget little bits, I have to go back and make sure that, you know,
they're all good. It's just just learning. It's a constant
learning step, okay? Yeah, so that's well done. If you look at the
next video now, it will tell you a little
bit about the project, a few little tasks for you to do so that you can kind of try
to work themself by yourself. So I wanted to see how
well you can do it. All right. And just remember, look at the student accounts
if you want to have one. Again, that's all
in the description.
13. Your Project: C. Well done. You've
completed everything. You've done order
videos for this class. Now, I'm just going to
ask you to fix a bug, do some additions, and be creative just for the final
little bits for your project. The first thing I want
you to do is fix a bug. The player can actually will jump on the side of the block, so the two blocks that we put on the left
and right hand side, I can actually get out about what you don't want
the player to do. I want you to fix it. Make it so that the player can grab
onto the side of the block, but then can't jump again. A way you can do that is
with a little hint here, adjust settings in the
run and jump bundle by boda fie in two
specific setting located in a single node. Look in that bundle, look
all the nodes there, and one of those nodes, you just change two settings and it should be able
to fix that problem. That's the first thing
I want you to do. The second thing I
want you to do is add these elements in with
what you've learned. The first thing is
add a special item that restores your
health when collected. That's the first thing
should be pretty simple. Lastly, I want you to be quite creative for your
project from this class. I want you to either design your own sprites and upload
them or you can download an asset pack from HIO and use easy gift to moder sprites
and add new elements. You can change the
main character, add new enemies, or use
different backgrounds. The start and end screen
are quite simple. Maybe you can dress them up a little bit and use
some sprites from the actual game and put
them into those screens. Just keep in mind that if
you're, say, for example, putting an enemy in or putting
the main character in, you don't really want the player to be able to control them, or maybe you do,
but if you don't, you're going to have
to create a new sprite and add logic in, so it's also automated. Just keep that in mind.
With that being said, thank you so much for
taking this class. Hopefully you've
enjoyed them, and I will see you in future classes.