- Creating an RPG can be really fun but doing everything from scratch, especially if you're still a
beginner is a huge challenge. I mean, I should know, I've
created an entire tutorial series on creating an RPG in Unity. And trust me, it involves
a lot of programming just to get a simple thing to work. Of course, getting into
programming in Unity can be incredibly rewarding
and you definitely learn a lot from doing so. But if you're just getting
started, creating an RPG is simply not a good idea. Well, until now that is,
say Unity has just released their RPG Creator Kit. This is say small example
project, made for you to get started with creating an RPG, while avoiding a lot of the heavy work. It features a lot of Assets and Pluck and Play Game Play Mechanisms. All right, let's go on a quest
to creating an RPG. (laughs) But first, this video is
sponsored by Zenva Academy. Some of the requests that we get the most are in creating Multiplayer Games. Zenva Academy offers a
complete Multiplayer course, which takes you all the
way from the very basics to more intermediate content. You will learn Photon Networking
and get to build RPGs, Federal Yells, Turn-Based
Games and much more. The Multiplayer Game
Development mini degree, has been designed by Urgency
the Certified Instructor, in collaboration with Unity
Certified Programmers. For a low monthly or yearly
payment, you can get access to this curriculum along
with all other courses on their platform. Use the Coupon Code Brackeys
and the first a hundred people will get 50% off on their first month. To get started, save the exact
thing in this description. All right, let's go on and adventure. [Instructor] So first of
all, we want to open up the Unity Hub and from
here, we want to navigate to learn and if we then scroll down, you will be able to find
the Creator Kit RPG. Let's click on this and
here you can either go to the written to tutorials or you can download the projects. So, I'm going to to hit download project. And once it's downloaded,
we can hit open and Unity is then going to create
a new Unity Project with everything that we need in order to use the RPG Creator Kit. If you already have a project
and would just like to import all this stuff into that
project, you can also find the Creator Kit on the asset store. So with this, we can go
inside of our project and go into Creator Kit RPG. And here, there should be a scenes folder. In here, you can see two scenes. I'm going to go ahead and
open up the assemble scene, which shows an example of how to build a level using these tools. And if I just go ahead
and play the game here, we can get a feel of how the game plays. So I can use the arrow
keys to move around. We can walk up to this NPC here and we can have a chat with her. And overall it plays like a
fairly standard top-down RPG. As you can see, some
of the NPCs have quests and they will ask you to
complete certain tasks. This lady here wants us
to fetch some apples. And so we can now walk
around and try to find these. It looks like I found one here,
so I can now walk up to it and pick it up and it will
appear in our inventory. So now that we know that all
of this stuff is working, let's try and create our own level. So in order to do this, we'll
take our blank scene here and we'll duplicate it. So we'll press Control
D and we can rename this to something like, Level One. If we then double click
it, it's going to open up, as you can see, it's exactly what it says. It's just a completely
blank environment here where we can start to
fill in all the stuff that we would like to have in our game. Now I'm just going to go
ahead and disabled Gizmos here so we can more clearly
see what's going on. And I think the first
thing that we should do is just paint out a bit of a level for our character to explore. So to do that, we need
to go to the left here inside of our hierarchy
and as you can see, there are many objects here. One of them is our camera, which of course follows around our player. There's also the character itself. This is our player character. And as you can see,
there are many variables here that you can tweak, for example, if we want him to walk a bit faster, which I would personally
like, we can go ahead and increase his speed to 20. And if we now hit play,
although there's not much to see here, we will be
able to travel a bit faster. Another object that we
have here in the hierarchy is the world object. And as you can see, we can expand this because it has multiple children. One of this is the tile maps object. And tile maps are what we use in order to paint our environment. So in order to do that,
we need to go to Window 2D and open up our tile pallet. And as you can see, the
tile pellet here shows us all of the different tiles that we can use to paint on to our scene. However, before we start
painting with this, we need to make sure that
we have the right tile maps selected because we paint in layers. As you can see, there
are multiple layers here. There's a background, mid
ground and foreground, as opposed to a separate layer for fences. Now I'm going to select
the background layer here, as you can see, it's also
shows that as the active tile map up here and I'm
then just going to select one tile at a time and
start painting the same. Don't worry if this is hard
for you in the beginning, it does take a little
while before you start to understand when to put a corner, when to put aside or when
to put just pure fill. I'm also going to add some water down here and maybe another patch of grass here where we could put a house. Of course, there are
multiple tools up here to help you with painting. Currently, we're just
using the brush tool. You can access that by pressing B. We can also use select in
order to select a portion of a tile map and then
change to the move tool in order to move that around. If we switch to the mid
ground layer over here, we can start to add in paths
and that's the one down here. And even though it just looks like a dot, you will notice that once
you start drawing with it, it will actually form
a path automatically, which is really, really nice. By the way, in order to erase,
we can always hold down Shift and click and I'm just going
to draw out a few paths here. We can also create a cobbler stone path using this tile right here. And if we switch to our fences layer and select the fence tile, we can also start to add in those. And they work in the exact
same way as the paths. So as you can see, we
can really quickly start to scope out an environment. I'm just going to expand on this a bit. I encourage you to go completely
crazy and have fun with it. Just remember to always
paint in the right layer. As you can see, I've gone
ahead and added some grass to make our level bigger. And I could, of course go
in and manually fill out all these tiles but
instead, I'm going to use the paint bucket tool
right here to do that with a single click, all right. Back to painting. (soft music) All right, that looks good. I'm definitely happy with that. And remember, at any time
you can always hit play and have a stroll around your level. As you will notice, the
border is indeed animated right away and that looks weird. So I'm just going to
go in here and fix it. As you can see, it's really easy to play test and fix mistakes. So now we're ready to add
a house and to do that, we first want to paint the house space. We then add a roof and then add a doorway. So let's start with the base. For this, we want to
select our background layer and some in here where
I want to add my house. And as you can see to the right
here under our tile palette, there are multiple different
tiles that we can choose from. I'm just going to select an
ordinary wooden floor here and paint that in. We can then shift to our mid-ground layer in order to add walls. So I'm going to stick the left wall here, paint that in, the right wall as well. And for the back wall
here, we can either choose between this pattern
here or ordinary wood. I like the pattern, so
I'm going to select that. I'm not going to paint in a
door but I do want to paint in a window and you can actually select multiple Sprites at once here, if you want to just paint with those. So I'm going to have two
windows at the back here and one corner, there we go. And for the front, I
really like this dark red. So I'm going to paint with that as well. And remember to leave an
opening for your doorway. Of course, if you want
the house to be closed, you can just use a closed door right here but in my case, I want it to be open and so we'll do that separately. So there's the base of our house. Of course, we also want to
add a roof to our house. And the way that we do that is by going into our project here, then
we'll find the folder called, prefabs and here you will
see a house roof object. Now this is separate from
the tiles that we've painted so far, in that this is a free object, whereas the tiles are
only placed on the grid and so when we go ahead and take this roof and simply drag it into a scene, you can see that we can
place it completely, freely in our level. I'm just going to place it
on top of our house here. And I'm going to change
from the brush tool here to the Rec tool, which
is going to allow us to move this around and
resize it to fit our house. So I'm just going to assume in here, you can always press F
to focus on an object and I'm going to place it in
the bottom right corner here and then resize it to fit our
entire house, there we go. Also, just to stay organised,
I'm going to take this object in a hierarchy and move it
under the world parent object. In general, it's good to
keep all of your world or environment objects in here. And we can actually go ahead and do the exact same thing for our door. Under the prefab series,
that's of course also a house open door. So we'll simply drag that in. I'm going to hit F to focus on it and then place it in place. If you can see what's happening because of this selection outline,
we can always go up here in the right hand corner and disable that. And I can see now that I need to move it a tiny bit down, there we go. And if you want to be
completely accurate with this, you can go into the inspector. And as you can see, we can
now set the position here to 3.5 and the wide to
two in order to make sure that it's completely aligned. And again, I'm just going
to take this and move it into a world object. And our house now has a door, awesome. So with that, we can hit
play and we should now be able to move inside of our
house, which indeed we can. However, once we're in the
house, we would like the roof to fade away and reveal everything inside. So in order to add this functionality, we are going to select our house roof. And inside the inspector
here is where we can apply gameplay mechanics or
scripts to our objects in order to make them do different things. In our case, we first of
all, want a way to figure out if our player is inside of the house and we can do this really
easily by adding a trigger. So let's go add component here. Let's go under Physics 2D
and here you can see there's something called, a Box Collider 2D. If we select this and hit edit Collider, we can now see this green box. This is our trigger. So if you go ahead and scale
this to be kind of the same size as the roof here, something like that and we can stop editing the Collider now and we can also go ahead
and mark it as a trigger. In our case, we want
it to trigger a script that fades away the roof. And luckily for us, this has been built into the RPG Creator Kit, so we don't have to create that from the scratch. Instead, we can just hit our component, here we can scroll down to scripts and here we have three
different categories called, RPG M Dot and then there's
Game Play Mechanics and UI. In our case, this should
be under Gameplay. And here there is a script
called, Fading Sprite. So if we click that,
that should automatically take our Sprite and fade it away whenever a Collider is triggered. And if we go ahead and move into a house, we can see this working
perfectly, awesome. So we can all see what's
going on inside of the house. And we just added our
first game play mechanic. So with that, I think it's
time to bring everything to life with some Scotty
objects because currently we've just placed around
a lot of tiles and we now have a house well, let's go ahead and add some animated trees. And with RPG Creator
Kit, this is really easy. All we do is right click in a place that we would like to add a tree. We then go under environment and here we have three different animated trees to choose from. I'm going to select the first
one here and right away, that brings in a tree. And it even places it
under a parent object up here called, Animated
Tree One Collection. So it also stays organised for us. So I'm just going to take this tree here and place it, let's say
here, we can also place another type of tree over here and maybe a third type up here,
in fact, I like this one so much that I'm going to duplicate it. So I'm just going to hit Control D and we can then move it over. And I'm just going to do that once more to create three trees in a row. So I'm just going to quick this Scotty some of these around. And one thing that I
really recommend you do is you try to vary the size
of these trees a tiny bit. So you can always select a tree. I'd have to focus on it and seem to use these controls here to scale it. If you want to make sure
to do this uniformly so that you don't stretch it,
you can always hold down Shift and varying the size, it's
just going to make everything feel a tiny bit more organic. And if we now hit play,
you will notice that once we start playing all
the trees are animated and we'll be kind of blowing in the wind. Now I'm just going to
collapse the animated tree collections up here. And we can actually go ahead
and add in even more objects. If we right click under environment, there's also leaves
that we can add around. And these are also animated
and there's also a whole other category called, decorations. This is how she is to
add different plants. Here with this tool, you
have to be a bit careful because this is not
going to be automatically added to a collection. This is going to be added to the object that you currently have selected. So under world here,
let's go ahead and create an empty object and this
is simply going to store all of our bushes. So let's just call it, Bushes. And then with this selected,
we can right click, go to decorations and add our first Bush, and as you can see, it goes
right into that object. Of course, after placing this one, I then have to go ahead and
select our bushes object once more and then we can keep going. Just something to be aware of there. And once you feel like
you've kind of used up all the different bushes, well,
I have great news for you, you can always select
one of these bushes here and under the Sprite renderer here, you can actually change the Sprite for any other Sprite in the project. And this is totally searchable. So if you want a tree trunk,
you can find that here and simply click on it to change it. Of course, I recommend
also renaming your objects so you can find them again. Or if we duplicate this
and move it over and say, place it here, we can search
for something like rock. And it's going to show
you all different kinds of small rocks that you can
also schedule it around. So there's plenty of opportunity
to have fun with this and sculpt your own environments. But I think this is fine for now. What we really need in
the game now is an NPC to start us on our first quest. And doing that is actually
also really simple. We go to the place where
we want to create an NPC. In my case, I want to
create a potion seller that lives in this house. We right click, go Gameplay
prefabs and add an NPC. I'm going to take this
guy and place him here, outside of his house. And as you can see, in the inspector here, he currently has a conversation script where he just says one
thing, which is hello. And if we play the game, that
is indeed what happens, hello. So let's spice that up with
some of our own dialogue. So let's go to the
conversation script here and let's remove the first
entry and let's create our own by hitting the plus sign. This is going to open up a separate window and here we first have an ID. So what's an ID? Well, if we think about the
structure of a conversation, as you can see, it tends
to kind of branch out. So the NPC greets the
traveller and then the player can answer with two different options. And depending on what the player says, the NPC is going to give him
a reply based on that answer. And so you can imagine this branching out into even more options. However, this is kind of the simplest way to speak with an NPC. And the ID is simply that number here. So as we go deeper and
deeper into the conversation, we add more and more dots to our ID. So since this is an opening line, we're simply going to hit
one here and as for the text, we're going to say, greetings traveller, what can I do for you? And here, we want to give
the player two replies. So I'm going to add two
branches to this conversation. The first one is going to
be, I'm looking for work. Do you have anything for me to do? And the second option is going to be, I'm going into battle and I
need your strongest portion. What battle? I don't know but it sure sounds exciting. We then hit create or update down here. And then in order to add the responses, we simply use the plus sign once more. So this is going to be an
idea of 1.1 or the response to the first option and
that's just going to be fine, you should ask, someone seemed to have
stolen my golden apples, perhaps you could help me get them back. And it said, click on that. And the second option or 1.2
because it's the second option based on the first part
of the conversation. And this one is going to say, you can't have my strongest portion. It would surely kill you. And let's say, create,
now that we've created these two replies, we need
to go into our original part of the conversation and hit edit. And here we can choose
that our first reply is going to branch to 1.1. And our second reply is
going to branch to 1.2. And so you can start to
control how different replies trigger different conversation pieces and how they further branch out. So let's update that now and if we play, we should now be able
to walk up to our NPC. He says, greetings traveller,
what can I do for you? And now we can either
choose, I'm looking for work, do you have anything for me to do? I'm going into better than a
need your strongest portion. I'm going to select that one and he says, you can have my strongest
portion, it would surely kill you. And so that's the end of the conversation. Of course, speaking with
NPCs is only so exciting. Let's have this guy open up a quest. So to do that, we need
to create an empty object under our portion's seller. So let's directly gone
him and it create empty. And let's name this quest. We then add a component and of course, if you go out and search for a quest, there's a script for this
in the RPG Creator Kit. As you can see, this allows
us to do quite a few things. Let's take it from the top. So first of all, the course title is going to be lost apples. The description is going to be
for turn three golden apples to the portion seller. Now, in order to trigger this
quest, we need to assign it to a certain part of the
dialogue with the portion seller. So inside of our conversation script here, if we ask him if he has anything to do, and he says, fine, you should ask someone have stolen my apples. Well, then we can go in
here and trigger your quest. So we simply drag in the quest
object here and hit update. And now he will begin us on this quest whenever that happens. We also need some dialogue for
when the quest is happening. What does he say if we go up to him in the middle of the quest? And what does he say when
the quest gets completed? To do that, we add some dialogue
to the quest object itself. So here we'll add a conversation script, and it's add an item to this. The ID here is going to be
1.1.1 and the text is going to be, have you found the apples yet? They should be nearby, This way we also giving
a tiny hint to the player since he's come back with all the apples and then he might be having a tough time. Let's create that then we need to create another conversation
script, not just an item nor an entirely new component and I'll show you why in
a sec but here we'll also add a point, this is going to be 1.1.2. And the text here is going
to be, you found them. Thank you, great hero and it's a create. Now, the reason why we split
this up into two components is because we need to take the first one and drag it into the quest-in
progress conversation. There we go. And the second one and drag it into the quest completed conversation. So you can have more than
just a single reply here. You can have an entire
conversation trigger based on these two events. So now this takes us on our
quest but we currently don't have any golden apples to collect. So let's go ahead and add
that item into our scene. To do that, we'll right click,
we'll go Gameplay Prefabs and add in an inventory item. We can rename this item
here to Golden Apple and we then scatter three of these around. So I'm going to put one here, even though that might be fairly obvious. I'm going to put one down here by the tree and I'm going to put
one over here as well. Of course, recommend that
you are a bit more creative with your item placement than I am here but I just want them to be nearby so we can do some quick testing. Also, because all of these need
to be kind of the same item that we just need to collect three of, it's very important that
you make sure that all of them have the exact same names. And when we duplicate an
object, it adds a number. So we'll just go ahead
and remove that or else they're going to show
us three different items in the inventory, instead of stacking. Of course, if you don't
want to use apples like me, you can always go in here
and change this Sprite. So you could very easily
make it a chicken or a chest. That's completely up to you. Just to remember to both change the Sprite on this spread renderer and
inside of the inventory item. Now, in my case, I
don't want these objects to just lie around. I only want them to appear
once we have taken the quest. So if we select our quest here, there's an item here called,
Enable On Quest Start and if we expand that, we
can set this size to three and that allows us to drag in
each one of our golden apples. So now they will only appear
once we've started our quest. And similarly, there's the
list here for required items. I'm just going to set this
to one and the type of item is going to be the golden apple. So I'm going to drag in a golden apple and we want three of those. So it's going to check that
we have all of those apples in our inventory in order
to complete the quest. You can also spawn in stuff
when the quest is complete, trigger cut scenes and so on but for now, this should be fine. So if we go ahead and play test now, as you can see, none of the apples appear until we walk up to our NPC,
we trigger the conversation that starts the quest. He asks us to find the golden apples and indeed they appear right
away and we can then move around and gather these apples. And they will appear in our inventory. And because we remember to
name them according to this, they will also stack. And once we have all three apples, we can go back to our NPC. And the dialogue is a bit misplaced here because I'm recording and then
miss this with my resolution but he thanks us for being a great hero. And so we've actually created
our first quest for our RPG. Really cool, if you're also
having resolution issues, you can always go into a game view. And instead of having this
be-a-free aspect game, we can go in and lock this
down to a certain resolution, could, for example, do full
HD 1920 by 1080 and hit, okay and now it's always going to
snap to being a full HD screen. And you can, of course
also go to your main camera and if you to go to the
pixel perfect camera and run an edit mode, we
can, of course do stuff like change the asset pixels per unit, if you want to zoom in and out. You can choose whether or not
you want to crop your game and stretch it or whatever you want to do. I just want to show you
where you can configure that since it's not very obvious. Yay and that's pretty
much it for this video. Now, from here, it's up
to you to add more stuff to your game and configure
it to suit your needs. Luckily, Unity has some
great learning resources on how you can continue by adding rewards, story items and how you
can export your game to share it with your friends. But really, I just encourage
you to play around with it, add more embassies and
quests and you can even add your own gameplay systems on top. For example, if you want
to add combat to your game, definitely check out our
video on 2D shooting, which can easily be modified to work for immediately combat as well. Or one thing that I think would be perfect for this type of game is turn-based combat similar to what you see in Pokemon. So if that's something you want to see, definitely us know in the comments. Also, don't forget to
check out Zenva Academy and their Multiplayer mini degree. Simply click the link in the description and use code, Brackeys to get started. On that, thanks for watching. And I will see you in the
next video quest complete. Thanks to all of the awesome
patrons and supporters who donated in October
and a special thanks to Infinity BPR, Lost to
Violence, Loved Forever, Ruonan, Chris, Jacob
Sanford, faisal marafie, Peter Schwendimann, Leo
Lesetre, Dennis Sullivan, Alison the Fierce, Stig Christensen, Kirill Kaizer Sviderskyi, Gregory Pierce, Naoki Iwasaki, TheMightyZeus,
Danijel Dusanic and Erasmus, you guys rock.