All language subtitles for 13. Spawning Enemies Automatically

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranรฎ)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu

Original subtitles

In a survivor

Style game

We obviously aren't going to be placing the enemies man

I actually need to be spun

During

The game

So what we're going to do in this lesson is working

Create

Node

Second spawn the enemies in regular around the player

And that's going to allow us to play the game

Indefinitely at least until we build

Other game places

So what I'm going to do as I'm going to get control and the Creed and you know

Let me just talk a little bit about

How I decide to make a new notes for

Every piece of distinct

Functionality

That handles

On realm of responsibility

Should be a note at least that's how I

So when you need something like an enemy spawn

Behave

I would recommend against for instance

Shoving all of your code on let's say this meme

Why because this mean

Is going to have all of the nodes that are necessary for the game

Subtitled by online-courses.club We compress knowledge for you!

And if you start

Putting a bunch of disparate functionality

Add the main now

You're going to get a lot of different concepts and different responsibility

Together

Which is going to become very unmaintainable one thing that you should keep in mind when you're making software generally is

Single responsibility principle

Which basically means each no

Should do

One thing and

Sort of a matter of debate

It's up for interpretation

But it's just a guiding

So in our case

The main node what is it single responsibility

It single responsibility has been

A container that brings all of the game

Together

The single responsibility of the basic enum

Is to provide

The enemy behaviour that's necessary

4.com

So on and so forth and single responsibility of a child map

Is 2

Render

Is it going to take the same approach

When we create an enemy spawn

We want to have a note

There has the single responsibility

Of spawner

Enemies

And so if you think about

Your design of your notes rotter and your team structure

That lands

You're actually going to find that you start creating more maintainable and Betis

So let's go ahead and create dad enemy

Spider

So I'm just going to click other note

Right here and by the way control and

To create a new scene

And we're going to

Put the root as

Type

Node

Call this enemy

Spanner

And let's forgot where we

I want to see it

So our same structure is starting to

A little

Unwieldy

Will do some reorganize

Later but for now what I'm going to do is I'm actually going to rename

Enemy

Spawn

Manager

And I might just called us enemy manager instead any manager

And I'm going to create a new folder

Under my seems to act

I'm going to call

Managers

Ok I just manage

Singular

And

Now I'll go ahead and save this my manager seeing

In there

Location so scene

Manager

In here

So save it right there

This is what your scene structure should look like when you said

And I was going to go ahead at Usk

The default should be ok so let's go ahead and click Internet

Ok

So what I'm going to do is I'm going to start deleting these comments because we don't need these anymore

And I'm also not going to use the function

The process

You have to be careful with this because

If the process method is defined

Then that process Med

Will be called every frame even if it doesn't do it

That does add a tiny bit of overhead

So if you just remove the process method

Then that will

Remove that

So unless you need to do something on a frame-by-frame base

Don't have the process

Define ok

So let's do another export variable wine because we need to tell the enemy manager watch anime it should

So let's go ahead and do

Export at the top

We're going to do with our

Basic

Anime

Colin

Type of packs

So again this exposed

Variable in the inspector

And this colour

Tell impact scene tells us that they should be

Type

Scene

You can see that have already got this if I click on other

I've only got a basic anime scene radio

So let's go ahead and

Search in our files

Listen for that basic enemy scene

And then I'm just going to go and round it up

To assign

Perfect

So what kind of things do we need to do for the enemy man

Well

We want to spawn enemies on a certain interval

And so that means that

I want to use a timer

Let's go home

Hit ctrl a

Make sure you have the scene dark highlight

Control

We're going to say timer

Garden adder

And then we're going to turn on auto start

And the wait time

Let's leave it at one second in Seaham

So going back or script

Let's remove this past life

Dollar sign timer again to grab the time

What are we going to do

We want to connect to the time

And then connect

Timer time

Ok

Two new lines between each function

Which means I am

The top here and then funk

On timer

Time out

Now what do we want to do it

Well we want to spawn the enemy

Consideration

Which is that

Presumably we don't want the enemy to spawn

Right on top of the

We want the enemy to spawn I think ideally

Outside of the view of the player

So that it looks like enemies are just organically coming from the distance

I believe this is how vampire survivors works

There are no enemies

Appear

On the screen that's visible they all come from outside the

So that's what we're going to do with

The player

So once again we need to grab a reference to the player so far play

Get

Tree get first node in

And then in

Player

If player

Eagles now

Just going to return

So again you have to be really careful when you're doing things like this because it is possible for this to be me

For example let's say that in a future state we have the player died

Right and then we remove the player from the seams

When that happens

This code may still be able to run

Even when there's no play

You need to be a little bit defensive when your programming you need to make sure

Your cold can still run

Even when

It doesn't have a dependency that you accept

So always keep in mind that

Whenever you're getting a node from the same tree there is almost always a possibility that it won't be there now

When you're doing it in this fashion like dollar sign time

That's acceptable because the general idea is that an encapsulated seen

Like our enemy manager or our basic enemy

Is guaranteed to always have these nodes in the straw

But when you're thinking about a brother game scale

I'm not guaranteed in this code that are playing

Directions something to keep in mind while

So let's pick a random

Location

To spawn

The enemy

In the way that we're going to do that

Is weird is going to

A point

On a circle around the player

So if we go to Prague

Project setting

We go to our display

We can see that our viewport width

Is

64

So we're going to use a circle with a radius of 300

To spawn the enemy

And that's going to make sure that the enemy will not spawn

In the window

Area

So let's crab

Random Direction first

So let's call

Random Direction

Is he going to again we're going to take the car

Vector2

And then we're gonna Road

R&f

And this function by the way is a random function at available in the Global scope that's why we

Call it from here and we can I do round at range 0 and then again we're going to do tell right so again

Give me a vector that rotated in radius

Anywhere from 0 to 2

Otherwise

Known as

Set a random Direct

Let's go ahead and put a constant up here above the x

Can't

What can a CT spawn radius

Is equal to

Let's do

30

So 320 is half of the greatest Dimension of a window

Remember that's 6-ft

Wide

So half of that would be

Inappropriate radio

And then I'm adding 10 to that just to give it a little bit

Buffer space on the edges of the wind

So basically going to be spawn

10 pixels outside the boundary of the window

Select a random Direction

Let's take our so now we need to grab up position

So we'll save our spawn position

Is equal to

Play Adele global

And we're not getting the

Suggestions so I'm going to type this as no to the again

That way we can get the suggestion

Play the global position in the ad

To that position of the player

What we're going to do as we're going to add

The

Random direction in parentheses

X

The Swan

So this Prentice

Might be unnecessary but I like to do that

The group specific mathematical operations

So we want to evaluate this

Location before

Get to the player

What position

That's going to do is that's going to

Go in a random direction from the player

330

Ok so that we

The spine position was actually cream

To the enemy

So we're going to save our enemy

Is equal to

Basic anime scene.in stands

And then we're going to want to

Do you

Get pair

And so we're going to get the parent of the enemy manager

Subtitled by online-courses.club We compress knowledge for you!

Which will be in the main scene

Bad child

Anime

So again

When you instantiate something that creates a note

But it does not put a node into the scene tree you need to tell it

Under which pair

Do you want to add

Vienna

Never going to say enemy that global position

And again it snow

Play tears no Duty so we can do instantiated as no to die up here

Then we can say enemy global position

Is equal to

Spawn

So let's just do a quick recap of what's happening were going to grab the player

And return No Return Reddit

The players

We're going to get a random action by taking the right vector

Which again is at 0 degree

A rotator

Buy a random value between 0 and 2

And they were going to

Take a player position

Add to it that random directions

The spine race

And that will give us the news

Position

And then we instantiate the end

Add

To the parent of the enemy manager which is going to be main

And then

We assign the Global

The Swan position

We calculate

So now I'm going to go over to my main

Click on the TV

The top so I can see WhatsApp

Also I'm going to get rid of a stye

Bye

Clicking on the timer

Unchecking the tilemap at the bottom

If that doesn't appear for you then that's good I think

Little bit baggy because I'm an RC one instead

The full release

I'm going to go ahead and send you a child's under me

Any manager

I'm going to go ahead in drag the my manager up to be the first Choice

And I'm going to delete all of these other basic

So I can

Click on the first one to hold shift and click on the last one

Anime can hit the door

I'm a keyboard and then

And now I've

And what I'm going to do is I'm going to move the player into the centre of the arena solo

You take the player hitting w on my

Ender Dragon

Store in clane

Ok so now we've got a bunch of enemies

Coming out us

We can still see them

Spawning

So we probably need to increase that radius so it's go back to the

What's turn on radio

And then

Let's try

And I'm also going to go to my debugs

And

Turn off visible collision shape

So that way we

Just see everything

Ok

So you should be

Starting to see how this is going to

Like we just get a constant

Stream of enum

And I'm going to increase this really it's just a little bit more let's 23cm

And that should prevent any

Pub in net worth

Now you're going to notice about your problems for instance they are spawning outside of our Arena

We still have lots of work to do on the world general

But

The the approach that were taking at the moment

We're going to get the systems of the game implemented in a row

Fashion

And then we're going to gradually polish it

Ok so that's a base

Enemy spawn

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.