Main

[2024-03-13] Ymirheim Development Stream — Livestream Recording (No music)

This is a recording of my past stream on Twitch. Join me live here: https://www.twitch.tv/neris_exe No background music is available for the recordings for because of potential copyright problems. Please join my live streams to enjoy the full experience with music and real-time interaction.

NERIS_EXE VODs

4 days ago

[Music] oh [Music] [Music] and [Music] p [Music] [Music] [Music] oh [Music] [Music] oh [Music] [Music] a [Music] B [Music] [Music] am [Music] oh [Music] oh [Music] hello hello and welcome everybody hope you you're having a great day and we are going to um continue with our B find and hopefully last fixes so yeah last uh last development stream we actually managed to implement proper and surface implementation uh also I noticed uh one more problem after I finished the stream I fixed it that uh bu
t yeah we still looks like have a few problems and we need to test everything thoroughly so the problem is this one sometimes this thing can fail apparently and the visited array can be empty um so yeah let's let's fix that real quick so first of all I think we need the status check the status of this function so if it's not succeeded then we probably can just break out of this foral up so uh also we need one more thing so if it's not succeeded or visited count equals zero then we break so if we
break out of this for Loop that means that we just go directly to the next PATH mode so that should be a quick and easy fix so let me see index was out of range was there yeah we could theoretically just continue if Move Along surface fails we could try to continue going to the next position so instead of break we could just execute continue but I don't know I think it's better to just fail the whole path cuz probably if the first one fails then the next one is going to fail as well so yeah let
's try that so yeah my server was running for a while I tested this code and this was the only problem single problem uh and yeah it actually looks good the CPU usage is actually lower than before we started implementing the enough mesh pathf finding so that's that's great um but yeah let's start the server properly and we need to run some tests first of all we need to check everything is working correctly then we also need to investigate uh how good that work how good that works because maybe w
e would need to optimize some places because I have my doubts about some some places e all right I don't have this test anymore that's bad can I Brint it back yes it can this is 33 okay here we go looks good so far okay I think we are good here also I didn't see any errors um and the logs so yeah we need to uh do a few tests on the path building and on the um the movement packet also transitions between water and ground and the returning state so we need to basically run a bunch of different tes
ts so let's start with this one because we already have this isolated uh so I'm going to uncomment this thing and restart the server so this will let us see how often does it rebuild the path um when the monster is in this Waypoint move uh way Waypoint movement mode so let's see have already a single path yeah so far looks good it just pills the path of the beginning uh of the navigation then it just follows it this looks good at one intermediate path because we have the actual uh path node ther
e way point and here another one okay that looks good I also needed to test the movement pack um I need this one okay so this is theim custom implementation let's go to the base implementation so we need entity moves so we need a few arguments here right so we need entity ID no we don't need entity ID we're going to is isolate everything so we need direction B um let's also include the next destination with a separate turn okay that's entity move moves stops actually let's do like that stop so w
hat're doing do I need I need the position and speed position is this one so uh how do I do this why I parentheses past can't get yeah still trying to learn them motions but uh I think I get idea here but still sometimes makes in the the normal old movement which is not really good okay uh Direction speed also I need the position here Also let's move this like T now we receive movement start movement stop let's also use the rotation I wanted to debug that as well let's do it like this okay that
should be good enough let's restart so now it should see not only the path building but also the movement packet I'm PR sure sometimes we send a bunch of those packets even though we don't need to do that oh we don't actually have the next destination why oh now we do have it oh crap I need to also filter out all the character movement okay actually it's going to be not equal character so um let's go Cy this to the clipboard how do I do this okay actually [Music] whatever like that e move separa
te date okay yeah looks good but don't we uh hello Ania how are you doing good to see you yeah finally managed to find some time to stream so uh I'm not sure why we are not sending out uh periodic movement packets notify neighbors ah we only s that when the movement the path is changed or the speed is changed I see okay should should be fine okay we have basically move move move and then start toop and then rotate then rebuild path move stop rotate so everything looks good for the um the Waypoin
t movement think we are fine there just maybe I would actually send out the notification packets regardless of the state of the path changed or speed changed not sure no let's leave it as this as it is right now so next thing that we need to test is just a normal NPC that uh that is just standing in a fixed Place SEC yeah lets do that so to do that we need to isolate a different NPC um how do we do that uh this one Alo yeah I'm trying now um black uh Dark theme for for Windows not sure if I like
ed yet but yeah we will see how that goes so we need uh one second what tests do we have I think we only have test three right now yeah we only have test three so let's do test four and set the category test for here B I don't see any path building that's good so the fixed n pces should should stay fixed in their designated spot looks like this is the case we don't have any movement from them any path building so that looks good actually I need another test this is just a normal NPC that's good
that we don't have any movement from them at all uh because yeah we did have a bug when uh an NPC that doesn't move actually produced um some path building events it's right because of lunch they can stop hope you had a good L lunch uh so yeah let's let's try to isolate a different NPC and in this case it should be a monster still a fixed one so let's go to let's go to outside of head M we have a fixed monster spawn there so this is going to be test five I get my focus e okay so it should be som
ewhere here yeah here we have to fix spawns F movement type where for fight sh we handling that correctly but okay that should be good enough um idle spawn range zero okay good so we have that we need category category test five we need to expert that hello doll how are you doing um we need to recompile the sponse and and restart the server uh warp 2 and it should be here okay we don't see any movement at all from that monster that's good do we test the combat with this one let's try okay now th
at we have a combat constantly rebuild everything that's good I I just noticed that the bsh doesn't have animation animation duration oh my God why why can I why can't I talk so probably I need to take a look at that so bash this one uh where is it yeah animation duration we don't have that actually none of these skills have it okay this is bad actually we need to properly assign all the animation duration for the character skills I think I forgot to do that yeah it only starts here with the mon
ster basic attacks yep yeah so we only have the animation duration for the monster attacks this is definitely not good so I need to write that down one sec okay we'll try to do that soon okay back to our monster did stop it did rotate yeah I think this is it we do see a bunch of rotation uh events actually I think this is uh for the scale use uh for the scale use uh let's double check no it's just constantly spams the rotate um packet that's not get ah I actually know why to keep keep um keep th
e monster it to the character while in [Music] combat now I will tackle that a little bit later for now we can skip it because I do have a few ideas for the rotation uh but okay for now it looks good I don't see anything really bad um in the movement packets so far it's really good e okay we lost the ground that's fine why did this file open I think I double clicked it uh but okay and this is done now we need to test random movement so let's pick now this monster it's going to be pest six and we
need to take a look into that oh I forgot to save but that's fine it's not too far away okay oh there is actually two monsters oh they are in the same group think okay this is going to be harder to test then oh yeah there's two monsters let's let's limit it to one because yeah I need to watch for one specific Monster not two of them okay so this is there we need to restart this again I forget to save okay let's take take a look into the log so we have the stop [Music] move single move okay tap
I actually do have a small problem here [Music] um think one sec yeah looks like at the end of the path because we don't have any more um like following nodes in the path it tries to go sideways for a moment until it received the stop signal um maybe I can fix that I'm not sure but that would be a client side fix anyway on the server side I think everything is good enough does look good so let's test the chase a little bit more with a little bit more speed I want to see how it changes when I try
to change the direction okay it's actually good only updates like every half a second CU previously it was actually running every tick which was not good yeah now it's like two times per second okay I think this is good enough so we did test the chase now we need um to test when the monster tries to run uh away from you but not the the actual Runway action but like the increase combat distance action and for that one I guess I need the merman magician which one can I pick well let's use this on
e it's just not very convenient spot so this will be test seven e also I forgot I needed to test um the death State think we already had that I didn't didn't notice anything weird just to be sure wait where is the monster test seven test seven did I forget to recompile the sponse think I did okay now we see some path the master should be there in the bush okay let's see normal movement first okay looks good so far yeah I think this is good so now this monster should try to run away from us does
rebuild path with some interal also we have a bunch of rotation they don't really like technically this this is fine e let's analyze that a little bit so yeah we do have a bunch of rotation but I will deal with that later I know why that is uh rebuild path and for this one rebuild path is a little bit more frequent for some weird reason actually I know way because we are constantly trying to update the the the point um to where we we're going to go so when it detects that I'm a little bit too cl
ose it'll try to find a point away from me and go there but next sck it will try to find the next point and so on so this is why we have this update but I I still think that it's a little bit too frequent um so Mo to position by default is 300 millisecond interval minimal interval [Music] mhm uh hello dark Terminus how are you [Music] doing so I think I need to start with the AI Behavior trees chat command AI behaviors maintain their desired combat range this one5 signal andal path this exactly
the same as in the normal combat Behavior Chase Target yeah this should be fine so let's check it again one more time no this this looks good get what why why am I lagging so much okay uh so now we need to test the actual Runway action where can we do that gu bun buns so for that we need even uh third map so this is going to be pra f02 come on loot there we need to isolate one of the BN buns uh which one [Music] though let's let's use this one actually no no no no uh let's pick some something cl
oser to the good layer this one so this is going to be which one test eight e actually there are two of them crap I didn't notice that um let's reduce that to one because otherwise it would be hard to test so let's see uh let's make it let's wait for it to stop go okay yeah looks good we have couple of updates per second yeah looks good so this is done now uh yeah let's try to find any other movement types maybe I forgot about any about something first of all move to position only being used to
move to Target position now here chase the T Behavior it's not being used hold Idol so we did check fixed pawns we did check random Movement we did check waypoints that's good return State Behavior we didn't check that one we didn't check that one let's do that so for this one maybe I can even test it with bon bon let's try can of be hard it's not very very quick this seem like mes move too often notice that at some point maybe it's seem because they move even if your character stand still they
try to run away from you like they oh here we go this is the return State again th this is weird wait this is a client site uh not the client side but server side problem crap so the monsters teleporting in the return Instead This is the server side problem not the client side problem okay so we have one bug that we need to fix uh so Mages yeah basically Mages try to like get away from you as much as possible but still being range to attack you with the magic spells the same goes for um for the
mermaids basically for any ranged monster they just don't stay still they try to get away from you they have basically every monster has its preferred uh range to the Target most of them ml monsters so they have zero minimal range so they try to get as close as possible to you uh but range moners do have like their preferred minimal range and they try to run away to uh keep themselves within that range to to the character so uh F1 bug how do we test it I don't like to test it on bon bon so let's
do test [Music] zero yeah but should they move if you're standing still well if they're still in not their preferred range then yeah it's just when they when they start casting a spell they stop so even if they are not within the preferred range and they can attack you with some spell they will try to to use that and they will stop for that so they they're going to be stopped when uh they are casting and when the skill animation is in progress and then they will try to continue running away fro
m you wait what was a testing yeah looks like we have a bunk in the returning State when the monster starts running away during the return State and that is that we don't have the monster movement start or maybe it's out of syn or something let's go to pra it's a big flat spot and let's spawn a a wolf now it was fine oh this is actually is a bad indicator h how do we test this and it's some kind of indicator that the monster entered the return state wait what where is it being set am I blind so
check is in return State set Target clear anit table reset path and ah this one set return State okay let's let's addit Trace here also probably printer is not a not a good um not a good test and it's a big flat spot big flat spot like big big flat [Music] area uh probably pra yeah it's just maybe I need to find and better place with then printer oh the bridge bridge sure let's go uh to the bridge to the arena that one is really big really long FL so where is my [Music] sound like like I muted m
y game some point and forgot to unmute so let's save here spawn the monster okay here we have the return State true return State false so let's see it was moving towards towards me I guess then we entered return state it didn't send out the stop signal we've rebuild the path and this here is the stop signal yeah this is uh the stop at the starting position okay then we started moving with speed 170 don't think these log entries are in the correct order unfortunately no they should be this is a s
ingle thread no this is not a single thread this is not a single thread oh my God but okay we entered the return State we've rebuild the path Here Comes our stop signal with speed, 1600 which is weird but okay this is where it stops then we receive a movement packet with the speed of 170 so from two 58 yeah so from this starting position too far away 170 though why 170 then we've build path one more time again from the same position another movement packet then stop at 17 this is weird I need on
e more test see I did Stu get stuck there and teleported so let's see again this is our normal movement then the return State true we reild the path from 34 to 24 okay looks good we've sent out this stop signal at speed 1,600 then we send out the movement from there to here so this is our return movement but the speed is 170 why is it 17 to 800 then speed 170 we rebuild the path once again why do we rebuild path two times from 34 to 24 then again from 34 24 actually the no the position is the sa
me Weir but okay then [Music] we send out the movement packet at the maximum speed what is this stop here we go the stop is at 34 wait where are we right now 33 so that one should be 24 right yeah this is 24 34 is there what the hell so it stopped 34 what so this is definitely the server side issue so first we stopped there at the speed of, 1600 then we moved at speed 170 we started moving at speed 170 back to our respond uh position then we rebuild the path once again from the same position bac
k to our spawn position we started moving again towards the spawn position at600 then we stopped at the same POS it what this is weird really weird I think I'm going to comment out these movement packets for now instead I need to add the traces at the move to position when we not toy the movement notify movement actually wait notify all this is entity moves entity stops entity changes state entity stops so we need to add traces to these ones also we don't send out the position we just send out e
ntity itself position and speed actually let's change this to stop just change of state do we need the change State no I don't think so we need this and this so this is move from position to destination with speed position destination speed so again stops we have that moves we have that change of state we don't care stops we have that yeah let's try to investigate it like that so I want to save here and let's try again because yeah there is definitely something wrong going on here this is why th
e monsters are teleport and this is not the client sideb [Music] he yeah the last one was stop and another stop huh oh excuse me someone's calling me give me a second e e e e e e I'm back sorry so yeah looks like like we have a problem with the packets so this is our switch in between states we did stop right there we rebuild a path towards our spawn point we started moving there but for some reason with speed 170 you know what we actually have multiple stop [Music] signals have this one as well
so wait a second so here we stopped we've rebuil the path we starting started moving then we've rebuil the path again from the same exact point that's weird we started moving again from the same point but with the correct speed then we stopped with speed 170 and then we stopped again what the actual hell okay let's mark different stops so this is stop one and this is going to be stop two let's separate that also stop movement could be called in different places this is for the temporary [Music]
impairments and this is when we actually stop this action I will add a couple of traces on the the actual uh status returns at least the significant ones so we're going to skip running statuses we need the success we need failure here is also a success cous failure so this is going to be one 2 3 4 five and that's it let's do that let's see what's what's happening because this looks extremely weird but yeah looks like the client actually renders everything correctly it's just we we're sending in
correct packets for some weird reason great my client crashed [Music] so it's running speed is 800 why do we have 170 then is that walking speed think it might be the walking speed but okay here we go uh wait so we're moving moving where where are the return States oh here success I should have marked them a little bit more uh in a little bit more obvious way so we are moving toward towards our Target here then we switch to return State true and we stopped stop one what is stop one stop one is t
his one stop movement k then we rebuild the path so this stop one I I need a little bit more traces so this stop one I think is the previous uh Movement we interrupted basically our previous Mo movement then this is why stopped then this one rebuil path move rebuilt path again weird then again move then stop one success success for success for is when we reach the end of the P Why Stop one success for stop one again I need a little bit little bit more traces no on start this is going to be unsto
p let's try that really weird have no idea what's going on [Music] go okay so between stop one this stop one and success four there was a while so let's see we were moving towards our Target return State and stop true so this is when we stopped um because of the interruption of the current action then we started a new one we rebuild a path started moving with speed 170 then we started again we start it again then we rebuild the path again we started moving on stop interrupted through this is why
I was stopped success [Music] for then unstop false false indicates that it was not interrupted this is is interrupted why do we have double starts starts SP is executed two times so we switch to return State we interrupted our previous Movement we stopped there this looks good uh also speed 7600 indicates that this the the return and state buff is already applied and we started our Next Movement we build a path that's correct we started moving but why are we moving with 170 speed then we start
ed again and started moving with, 1600 speed towards the same Target from the same position then we interrupt it what the hell oh I have the name actually but let's also add the name here and start and unstop maybe that would clarify some things okay so far it looks extremely weird looks like as if most multiple um run to Target actions are being executed at the same time which shouldn't be the case at all move to random position okay okay so wait this is our return State true so unstop true thi
s is empty uh this is probably uh coming from the maintain desired comat yeah we don't have this named we can add some names to double check that but okay that's interrupted then we stopped here then un start move to random position idle Behavior move to random position actually this is incorrect so idle Behavior sometime somehow gets executed during the return State H what is this turn to spawn this should be move to fixed spawn so idle Behavior gets called when the active when the return state
is active how the hell is that possible so we've said the return State let let me see the behavior trees old NPC AI first one is that state Behavior then return State Behavior re-evaluating selector so return State Behavior this should return ah can some of this fail think some of this can fail and this is why we are going to the idle Behavior so check is in return State it's this shouldn't fail set Target Clear enemy table reset path unreachable time this is just a reset set update priority se
lect movement Type wayo move so for Waypoint move set random Target position from Spawn region so I get the spawn region actually this can fail maybe I need to check that in a moment okay we get the spawn region we get the zone credit get position in spawn region spawn command no we do have spawn region yeah maybe this fails but now we we get to the point of move to Target position within the sequence that means that this doesn't fail so this is Interruption of our previous Movement we stopped t
hen move to random position we rebuild the path we start moving I don't see any um also why is this the speed is 170 should be run this is so weird and really hard to debug I don't I can't use the debugger here and I don't have enough information in the conso okay on start returns to spawn range so first ah I see so first it started to go to the random position I see set return State true and this returns failure so the whole sequence returns failure so this means that this will return failure t
hen we go to the next one so this is why we go into the idle Behavior okay this explains that so we can easily fix that by adding condition one second where do I add it guess sequence then check and return State behavior and then parallel okay then we have [Music] parallel and then this one so yeah if we are in the return State then this will movement type yeah so if we are in in return State then this will return success we use inverter which will return failure then this one will be scaped oka
y but still that doesn't explain everything so again we switch the return state with stop then we now know why we ended up in the idle Behavior because we were in the combat Behavior we switched to uh the return State and we returned failure so here we went to the next one in line which is Idle behavior and we started going to the random position we've rebuild the path we started moving there no there with speed of 170 this is our idle speed correct then ah I see then we went to the return State
Behavior we detected that that one is running now we started going there um and only then we interrupted the move to the random position we stopped I see so now it should be fixed I'm pretty sure just previously it was working fine what did change oh it's not working anymore that's weird but it's okay now it should be working let's test yes yes it's not teleporting anymore okay let's double check the console output so we were moving towards our Target with speed 800 sure return State true so we
've switched on on the return State we interrupted our previous Movement we stopped okay then we started return to spawn range we build the path started moving with the correct speed now then we return success we executed and stop normally and we stopped there and then we exited the return state okay one more time just to be double double sure I guess yeah so it's Movin mov in mov in then it returns success stop and return State X exit perfect now it actually works just why it was working like t
hat before that's that's was weird what is weird so maybe we can do some more checks yeah now it's perfect so it wasn't the client side buug that was actually a server side buug uh what can we test now so first of all now we need to get rid of all the console outputs that we created we don't need them any more except this one I still need that one okay and that was the fix guess let's try spawn the monster here okay so far looks good oops yeah now it actually runs away correctly and this is our
return state so we stopped our movement started return to spawn range move move move success stop stop and return State false okay that looks good now I need to check that on real monsters first let's restart actually no not restart because yeah we do need real monsters now and we need to comment out the debug output this one [Music] so uh let's go here and let's check our Bon buns now they should be working correctly um nice okay perfect let's see they run away stay yeah that looks looks okay a
s well okay but we also have one more monster that we need to test it's here we need to test the sharks that are going through the way point turn State I forgot to remove that to back output okay but yeah let's test the Sharks I can remember where they are here we have one let's just make sure that it's actually going over way way points not like randomly yeah I think it does go over a way point also this is annoying this camera angle I need to find out how to fix that but okay let's try to he g
reat and pull it out of it that was weird did trigger to return state but that was way too close h interesting yeah I think I know what's going on I did reduce the the chase range on these sharks because at the time when I was working on the shark spawns we didn't have proper um water geod dat water volumes so I needed to limit its range somehow okay so what do I do now so first of all let's exit all of that need this anymore so it's this one so right out of the exit we had a shark I think this
[Music] one God this is so [Music] slow yeah it was this one where is the actual spawn point yeah Chase range is [Music] 6,000 yeah actually looks accurate so this white circle is the chase range and previously I've set it to 600 because the closest point to the shore is probably around 6,000 but yeah it's not a really big distance especially when I have such a great speed let's try to find the shark again this one could be maybe it's one of the random ones yeah it's one of the random ones oh I
can I see it yeah so this is technically fine it's exactly what I programmed it to do but yeah this is not very optimal let's check with normal speed probably it's going to be totally fine with normal speed got come back my head here no this is not fine and I know why because I started attacking her uh I started attacking the the shark right here somewhere right after this way point so the current Waypoint was there so there's already been a distance to the Waypoint and we actually do the check
uh of the chase range up and tell the current Waypoint but still it seems a little bit no it's actually it's actually exactly about 6,000 I did pull it uh from here to somewhere here then it went back another thing is we actually calculate the chase range in a little bit different way here we have spawn range 600 and I believe when we load the the spawn table Chase distance is Chase range minus spawn range so it's 6,000 minus 600 even it's even L of 5400 but yeah now we technically don't need th
is Chase range to be so so low can set it back to where it was before so I guess let's do that m NPC sponse f04 yeah we have a bunch of [Music] those e now actually Chase range minus spawn uh yeah for wayo n PS this is exactly like that but okay should be fine so I fixed f04 let's check out other um P points other Maps 10,000 okay good e yeah we also have the fish and mermaids on outside of MIM so let's also fix that e okay I think we are good now so let's check oops I died doesn't matter need t
o rebuild this [Music] so let's check the same shark now now the the chase distance should be much greater and should be actually exactly what we need so let's see okay where is the shark I can see to of them there which one is which I think that's the one that goes all path yes let's start with that shark now got attack okay now it's good let's just make sure it doesn't go out of the water perfect actually perfect yeah they stay in the water perfect and now it's return okay good with fixed that
uh okay let's double check move to position let's let see again where it's been used only move to Target position so Chase Target Behavior actually not being used right now called title Behavior did fix this oh wow what is this I've been chasing this bug actually for a long time character is not dead but requesting respond I definitely did not request respond so why did we receive this back interesting okay problem is now I don't see any other details okay we will tackle that in a moment I know
I finally know why that happened it was about 10 minutes since I actually died but I I exited the game to the character select and then I went back but I guess the timer did not reset ahuh and when the timer did uh take back to zero it tried to request to respond I see so this is where I'm getting this weird errors from well not errors warnings okay okay okay let me write that down real quick okay now I know where to dig so uh move to Target position uh that's there actually wait where is Idle
Behavior I did rename this thing here I need to do that here as well that would be the proper name so I did test these three bu return State Behavior that's fine test AI we don't care about that combat Behavior this is run away otherwise maintain Des are at combat range okay good good actually here I think we can improve this a little bit and we can force path rebuilding every second now let's do every 3 seconds with Force path rebuilding going to check that in a moment Harvest I don't care abou
t that right now Harvest run away I know we fixed this one well there was nothing wrong with this one in particular but it's fine maintain the Z combat range that one we tested that's fine and return state with the test as well okay so this is good we did check the rebuilding path and we did check the movement packets uh so now let's verify that uh where was it combat behavior that this thing works that we just added e why am I so far away on this one so let's test Bon bonss again now they shoul
d update their path when they're running away every 3 second regardless of the player movement but I think they were doing that anyways yeah let's let's test Let's test it in that way hm still tries to run away straight okay then that that's not the problem then now it goes back yeah we need to fix that but yeah this is not the reason I guess set run away Target from position Target okay uh well I could change that in a way that as the further it goes away from the spawn point the more the gravi
tation Factor uh applies maybe that would be a good starting point I think we're good enough even with this let's double check I want to add a trace here I forgot to save but it's fine [Music] yeah does that basically every tick maybe that's not very good but it's fine yeah that means that this code is running correctly we just need to figure out how to find in it so it doesn't try to run straight continuously uh but changes the direction over time probably yeah we need to like increase the spaw
n point gravitation Factor um the further the the monster goes away from the spawn point actually actually maybe we can try that already so this times [Music] 1.0 plus um we need the distance until the spawn point distance to the spawn center it's Direction directional length oh okay so here we need math um max now math men no actually maybe maybe we didn't need it any at all so let's check spawn point distance divided by 10,000 one point distance divided by 10,000 this is going to be 1.0 to 10,
000 no not 10,000 let's do 2000 so 1.0 plus distance from the spawn point Center was to 4,000 this effectiv will double the spawn point gravitation Factor every 4,000 units away from the spawn point Center let's see if that helps I wanted to delete this but fine [Music] okay this is bad yeah this doesn't work still run straight up until the 4,000 distance this is really weird h so by default is 65 ah I see the spawn point gravitation fa Factor should not be greater than one we can do that let's
see does that help actually one is probably way too much already it should be like N9 let's do that um 99 something like that n has better internet at the moment I see hopefully it will get better soon yeah that's unfortunate [Music] no it still runs away straight oh wait now it's turret to glitch yeah I don't know I don't know [Music] h so this is the normalized vector then we apply the gravitation factor I don't know I have no idea why it doesn't work so yeah probably this now becomes to creat
e of a value after we normalize this I see so if I stand between the monster and the spawn point means that the monster will always try to run away way straight away from me so maybe we can add some random value like left or right so let's try 0.10 Z like that for okay why does it return back Weir yeah I don't know I would have to play with this a little bit more I don't want to do any changes at the moment let's leave it as it was before because yeah looks like I did break it so let's test now
e now it should run in definitely until it gets too far away and then it's going to switch to the returning State and lose the aggro hopefully still running now it runs back okay good yeah it's in a returning State okay perfect so that works it's not ideal but yeah I have no idea how to improve that maybe later so we did check that now uh let's do some movement testing a little bit more uh on the previous place with the wolf CH not 20,000 Let's see we need to make sure that the monster to avoid
all the obstacles properly have a second roll joining in but yeah looks good so [Music] far still need to oops figure out how to separate moners when they get too close to each other but this is good enough so far oops [Applause] oops now I have the whole [Applause] pack okay this this looks fine I think obstacle avoidance now it's looking very good also the movement synchronization okay leave me alone guys yeah so many I forgot to disable the monster spawns but it's okay uh we did test that uh
now we need to make sure that lawn uh paths are working correctly so we need to go back to the sewers you love the the wolf map or the sewers also it can increase the speed I don't need to work so slow for so for example here we have a place where we tested the rat now let's test it with the wolf oops get stuck on the plank [Applause] again okay that works now if I go here hello W here you go okay so that works so now I need another test um but for that one I need to speed up the S because it's
going to be a little bit too slow reach me right where is the Sprint here it is okay let's see now this is probably the longest best that they can come up with in the game here we go nice that works correctly okay perfect so that works so while we're here we need to test let's despawn this wolf so it doesn't get in way so now I need to test if the return state is still working correctly when the path is unreachable because we did change a bunch of stuff that can break this see so this monster ca
nnot reach me and so shouldn't be able to attack it all the time should start the return state in a moment yes perfect actually I need to test it with enchanter real quick uh what was that ID I already forgot five okay than I should still be saved down here on enchanter yes perfect um but I need a few more levels let's put all of that into end learn some skill books so I also need the class level yeah yeah okay let's see again we kill it with our level 25 enchanter oops well almost actually but
yeah that's the level 25 H oops whoops but yeah technically if you can like kill a monster in one two shots that's viable strategy but then you don't need to hide up on the boxes can just kill the monster so let's reset let's try again so let's try lightning strike and then fireable now probably I need to start with Fireball yeah [Music] all right actually missed with the first skill shot uh okay let's wait for a little bit again missed but okay still I think this is fine the path is working fin
e yeah the only thing that we need to test um what is left is the water Movement we did test it a little bit but they need to do our previous the T that we did previously um somewhere there crap no not five two okay so this fish should stay down in the water then return back after all while guess it cannot reach me perfect now we need to test um get it from the uh from the pier okay perfect it stays in the water let's go to the other Edge nice okay good so that works uh next we need to test mons
ters that cannot swim my God can I can I go down okay by the way while we have a grab here we need to take a look stays on the ground even in the water yes perfect it should also trigger the returning state after a while oops I killed hold it but okay another thing that we need to test is a p I cannot go into water should stay on the ground perfect and it should also trigger the return State nice okay uh and I need one more test I think this is the final test we need monster that can travel both
in the water on the ground let's make one so we need movement type six this means that the monster can travel whatever it want [Music] need to restart the server and start the client again [Music] so I had a good testing place um in the pra fountain or however that thing is called because there we have actually an interrupted um water mesh so let let me double check if it's still the case maybe I did fix it somehow I don't remember but yeah let's take a look have 01 uh another mesh yeah here so
this is a nice place because we have uh a water mesh down there and we have another portion of the water mesh right here and they are not connected they're in different height levels so technically you cannot go directly but since they are all all these two meshes both of these meshes are in the water volume then they should be connected and even if a monster is uh like can travel on the ground they should be able to basically freely travel between these zones so let's let's test this let's spa
wn a monster down there this one Oops why can't can't I surface okay good so let's try to attack it and see if that [Applause] works should be able to chase me fre yes [Applause] nice where is it going I think it last the Agra okay let's take a look so it should return to its original spawn point okay perfect so that works uh and another thing that I wanted to test is um the actual path building that we we have built I actually need need to test it first but yeah I forgot so let's for example sp
awn a wolf here and let's take a look at the path that's been generated here we have just two points if I go slightly behind the corner and I'll have five points by points why so if the monster is there and I'm uh somewhere here tra area one two I think this is because this will hump no huh interesting why do we have five points should have four so one two three four actually that really depends on where I am placed and where is the monster placed maybe there is one more Point appearing oh maybe
something like that I don't know it should be there H but okay five is not too many but okay now if I build the path like this oops I forgot to select the Target have three points Five Points here we changed the height position here here this is weird these three are basically on the same level so I believe one in between should be gone actually weird sh area crisis for this points so weird don't think this is supposed to happen like here we have three points on the same height level straight p
is just return two points so all the other points generated I do I have these three they should be skipped uh let's debug this real quick because yeah this is this is weird I don't think this is supposed to happen for [Music] oh now it's different now it's correct huh interesting now I have just two points with the same height so what what was the actual [Applause] difference maybe the wolf is in different spot yes here we have three points on different oh on the same height so let's try to deb
ar what's going on there okay so we have straight path of just two points yeah that's correct so we just add the first one as it is actually I think we need to reset Direction when we add another point no maybe not so this is the last Point yes it is and now we try to add intermediate points in between so distance is about 23 units th000 units create interpolate position so this one is fine 5612 keep note false okay next one is 56 [Music] 54 keep note true vertical angle 43 okay so we kept it so
this is this was the node number two no number three but yeah index two okay so this was already 6250 32 so where is it path index two actually empty what ah wait this was just the first one that we kept yeah yes okay so now the next [Music] one do a keep it now go to the next we done keep that one okay we are keeping this one so what's the height 61 32 yes that's the one so now after this one for some reason we're going to keep the next one why ah I know why because our direction did change wa
it not the calculator paint so add our node so we have our staircase like that have uh uh one point there uh Target point is there so we've tried to build the path and the uh the path returned by the path building algorithm is like this so this is direct path but now we try to align that path to the terrain so we're doing that in a way that we slice each point in small units well slice one point we try to move along the Surface by that distance uh so it's going to place a point there then we bui
ld next PATH somewhere there we slice again we put a point so it's going to be somewhere there so we try to detect any angle changes any significant angle changes uh between the direction so if between the vertical Direction so here we detected that the path goes up uh this means that we need to keep this point so we kept that one we try to build along the surface next so here for example it could be that the pth again is uh change direction significantly so we're going to keep this one as well
but then this one doesn't have any change so we skip it the next one somewhere there we detected that the angle did change so we keep that one so the final path would be like that and then what's the critical one is here we build the next intermediate Point uh and we check the angle and now here it's also different so now we place another point then all the subsequent points will have no change in vertical angle so okay this is why we have more than two points on the same height they see because
we also need the final one so so now if I go down and execute the same path the enough mesh path building again where is my target wait what why can't I Target the wolf [Music] anymore the hell oh I'm in the bug mode okay so now if I go down here and execute the nav MH command again we should see only two points on top yes now we see only two points on top of the MCH then it goes down back to me okay I see yeah so that works correctly okay so I think we are good um place for now so what was I w
orking on before for this whole bug with the path building popped up I think I was working on the wolf skills this is why I'm working with the Wolves uh [Applause] so need to go to the wolf map also yeah I need to reset the server to include all the spawns but let's save here uh exit properly now we need to revert this thing also I need to revert all the spaes except the one in PR Tera still I may may need that that one was test three I guess yeah yeah I was working on the combo attack skill and
throw dust skill so yeah we need to figure out that yeah we need to reset the spa okay we're good here we enable back everything and restart the server but yeah uh now I need NPC skills table and yeah here we have our test skill so we were working on the throw dust skill [Music] before um we discovered a bunch of problems with now mashes again so let's see how that works at the moment come on use the skill wait what why doesn't it use the skill oh I disable it I disabled it okay I need to wait
for the Egra to drop okay can close this a here we go so that's the skill yeah we need to somehow change it so it's not like a white um white thing being thrown at us but some kind of dust okay how do we do that well I guess we would need to go over the effects and see maybe we have something close to like dust P throne okay uh now that's that's animations pictor classes so let's take a look what do we have air breath no that's underwater St tension I guess critical blow evate weird wait no I ha
ve no idea what the evate does that's not it normal no event okay Quest [Music] complete yeah guess we can skip all of this these are just normal effects not the scale effects do need to find some scale effects though start with these ones yeah this is just a normal blind effect e dirt bite I don't know dirt bite yeah bunch of red thing so I guess this is like supposed to be um beding effect or something h I don't know if it have anything like that maybe we would have to modify one of the existi
ng ones wait maybe we can reuse this but remove the Stars okay I need to remember improvised combo maybe we can reuse that oh some rocks no have a bunch of dust here with some rocks yeah this like all the way around Target we need something more focused okay uh what was that inside noide strike no improvised combo yeah so let's let's write that down so improvised combo sore improvised coma e the other one was Inferno S I think Yes actually not in FMA in in trema underscore s okay so I have these
two Magnum break oh well no oops was not what I wanted to end e yeah I'm not sure that we have anything like that probably we need to take uh the throw Stone effect and modify it maybe by adding one of these to I can Prov combo uh or the second one that we just checked here Stone throwing it's very bright maybe we can just get rid of the stone itself and increase the secondary effect this one the damage effect okay let me write this one down no e yeah we don't have anything like that on the ski
lls let's take a look maybe some other effects could be reused um this spider silk is definitely something that they would need to use uh pretty soon when we work on the spiders they're up next basically after the Wolves so this will be useful for the spider [Music] skills snowballs actually wait are we sure that this skill is not using the The Snowball Effect 5402 now this is Stone throwing 5317 yeah so this is fine actually one of them is missing one of the effects is missing B E and [Music] M
we have uh e we have B we don't have M yeah I'm not sure what this is supposed to be guess picking up or something I don't know but okay whatever so back to our skills yeah that's definitely not the [Music] snowball no mod huh maybe we can use this one M mod b do we have it in the effects [Music] somewhere yeah blow speed so let's try let's put it into the scals for the blow effect right whereas the blow effect here it is so it was this [Music] one and we're going to put this one instead we nee
d to exit export rebuild and let's see maybe that would look [Music] better come on here's the scill here's the scill okay that was a little bit weird but maybe we can make it a little bit bigger also we need to change the damage effect CU see we still have some weird white stuff uh splashing around okay it looks better also we need to increase the blow speed okay but this is a good start let's check some other effects Goblin dance huh I don't remember that one okay dust Splash huh it's white fo
r some weird reason and red that's Splash h yeah I think this is the one that we can use but we need to scale it so 65056 can copy that [Music] one going to be 6576 I think this rate needs to be 2.0 this is the scale if I remember correctly uh set Center duration rate need to change this blow speed so first of all let's put this one here also the previous effect was 54002 [Music] 54 this one it was 3 3,000 okay let's do that and see how it looks like and for the damage effect maybe we can just c
ompletely get rid of it I don't know I'm not sure about that right um function parameter rather so type Loop K on ground attach of set pitch your roll center duration rate I think this rate is supposed to be the scaling Factor let's try 4.0 and let's for now reduce it back to, 1500 speed scale weight but yeah let's try with the 4.0 R oh and I wanted to get rid of the damage rate of the damage effect for I don't know if the scaling actually works doesn't look like it yeah without the damage effec
t it's not noticeable in close range at all so I don't know I don't know bring back the damage effect yeah don't think the rate parameter is what I think is always set to one maybe I'm supposed to use the scale weight why is it zero okay let's set this to one and this is to 1.5 see if that helps oops need to exit the [Music] game I think it's biger no no I don't know I have no idea I have no idea actually let me try to look it up in the code real quick so um start bone Maybe sound index so if sc
ale weight is greater than zero okay pis size time scale weight so this is probably the scale so if we do three here should become three times bigger theoretically size divided by scale bases times scale weight I don't know it should be it should be this so let's try that actually let's do 4.0 maybe it's going to be more noticeable I need some ground effect have damage but have blow well almost and the damage is not really nice but I think I need some like activation effect under the wall from g
round actually maybe it is bigger no it's not I have no idea it's not bigger hm no idea okay Bas is size 50 I don't know yeah rate is not being used at all which is interesting and this scale we should be the actual scale just I have no idea why it's not working maybe it's not working for the blow effect create effect create blow effect here we go now it should be scale weight Let's test real quick my get it's doesn't want to close e oh wow wow okay so it does work it it should work it's just pr
obably it was not not big enough value okay uh let's see let me revert that so let's try 10.0 I don't know that's the one that's mod effect [Music] hm really weird doesn't want to scale when set when set in the table it does work in the codes come on close let's try 100 I don't know let's try 200 just maybe this in size is that set okay let's let's try first oh yeah this is not set okay I know why it's not working it's just don't think I can fix that so probably we're going to stick with small D
particles but still we need to find um an effect for for the ground for the skill activation yeah it's not working at all well guess it's going to be so this can be set to zero whatever this can be 2,000 so we need to find a nice ground effect for for the [Music] dust let's see so I did notice as improvised combo e as improvised combo e what is this [Music] one no in trama s in trama s here we go so maybe we can use a part of this skill as an activation effect uh let's see do we have an effect
for this yes let's just try to use it and see what's going to happen so it should be effect active one think it's a little bit too much so probably we would need to create a copy and adjust this one a little bit well see in a moment H also there there is some kind of fire effect I don't know it's like Mar them briak I don't know to be honest I don't know what we can do with this yeah we have a lot of aits here this needs to be gun this this is the smoke this is some kind of Sparks it needs to be
gone and the whole effect needs to be scaled down a little bit I think also can I focus it so this is Sprite and meter movement independent radel uhhuh can I delete a velocity multi multi player [Music] h let's try to copy this so s and trama uh s it's going to be through dust yes so now we need to get rid of second Sprite ameter first second so all of this needs to Pi G third one next to the last one now we need to adjust the indexes so zero one 2 3 [Music] 4 5 okay now we need to copy that in
the effect so 55002 this one uh 55 55006 it's going to be and it's called Throw dust s maybe also for this one I can use scale weight but we will see first we need to actually compile it so compile script okay that worked fine now we need to export data from the database rebuild oh uh also I need to assign this one to the SC kill and expert again build let's see [Music] H there is another effect but yeah more or less also I need to delete the sound okay so let's delete the sound first then I do
n't see those effects here but can I just comment out this so this is mes meter Sprite meter mesh meter let's comment out the mes meter what is this fire particle a rash yeah let's comment out this fire particle I think this is what we need this is small SM glow this is some kind of mesher stone okay and the first one I believe is the black marks on the ground actually yeah let let's try that not sure if it's going to work if I just Comon those out but it should theoretically compile okay no war
nings that's already a good sign [Music] actually maybe it should be an AOE skill I don't know huh crashed so yeah I guess I need to adjust this thing Z 1 2 probably this is why it crashed H still have some kind of red circle and we don't have one of the smokes anymore I don't know have comic smoke glow this is probably that red thing this is the stone think we can get rid of that smoke fire particle what is this wave some kind of wave mhim meter fres let's try this zero one only these two actua
lly that's weird so we had two smoke effects very close to each other so I have smoke here fire particle maybe that's the one as well let's try this so zero two and one zero let's two one h okay that's better but yeah it doesn't look very good I don't know Looks Like the Wolf is trying to like jump really high um doesn't look like it's throwing um D so yeah I don't know this looks weird uh also yeah I really need to to go so I'm going I'm going to call it a day uh I will continue tomorrow tomorr
ow is Thursday right yes tomorrow is Thursday I will continue tomorrow uh on schedule hopefully uh and yeah we'll try to figure out this skill maybe we can find some nice effects also I think I will change the way it works because yeah it's it's it's really weird right now uh so yeah let's see can we rate someone [Music] uh let's rate Foxon but yeah uh today we finally fixed a bunch of stuff regarding the path finding and now I think it's finally good we still have some weird diss when the monst
er attacks so I will try to figure out what's that about maybe it's something that we need to adjust on the server side as well uh but yeah it's it looks good the path finding is great and the movement synchronization now is also good and yeah we need to figure out what we're going to do with this throw dust skill because I really wanted but yeah we don't have any nice effects for it partical effects and the way it works right now is not really good it's like a targeted skill but I think it shou
ld be like AOE skill but get skill I don't know we we'll see so yeah hope to see you tomorrow and [Music] bye-bye e

Comments