Godot Metroidvania: Level Design and Coding New Mechanics (livestream)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] so all good you seem to be good all right time to start the life hmm [Music] hello welcome everyone thank for you thanks for joining it's um morning here I think you can you can tell that and it's good morning to work on video games on the metroidvania project we aren't going to work on a few things the project is free and open source so i'm going to leave the link in the chat go yeah and and and and we have a few things so movement bug I want to fix real quick before starting out I go to the project tab and priority there's some level design stuff to do and bringing some components into the game so I'm going to move you wait where should we move you down here okay on the right screen and we can get started to the movement bug for that I need the controller where'd I put it [Music] and when you controller because the previous one was well has a bumper that doesn't work anymore unfortunately and the right bumper it's not like it's the most important keywords now I have to turn off as well do you preview on the right side there we go [Music] so the game works fine normally but if you start to use a game controller you get things like these the - doesn't work and not only that but even if I make it inactive so I want to return it advance is intuitive and show you five motion into the turn there you go you get that red bug that needs to be fixed so this happened with the changes in the code structure razvan has been working on some system some some separation of concern splitting the motion away from the character and making the skills the the abilities of the character unlockable for the course this is something we want to teach so there we go do we try to fix that first I don't even know why that happens to be honest I'm going to let's see transitions should be on the player No all day in each each state they run changed here so I wonder if residents here by the way if y'all hear pink meat in the chat I'm not getting any messages right now that's weird [Music] there you go is the music too loud I mean there's always music in the in the live streams [Music] it's the same level as every single day so just tell me ah is it [Music] should be I can lower it to bits if you want all right [Music] I mean I'm going to do development so y'all better off music is a bit to that okay so I've uploaded 5 5 DB should be should be fine to make it's a bit more subtle this is live yes alright so as well working together now I have to - just get okay I think I get what razvan was telling me so we we had a really quick chat right before the stream now we're talking about the splitting up [Music] the code [Music] player has a space machine okay let me let me go check the skills I have a player and the skills update the players state okay so if I look for change state now by a dot okay hook connect okay global position is on floor the base skill status where do you change player state you check for the player state change state here is okay it's on skill so change state changes to play a state to it target one okay so the okay okay okay the states that the skills directly change the state of the player and they're like work parallel to one another that is the the - does the same thing I see why it's tricky okay so the true-true is that a tutorial for the very beginning of doing the hook there is no tutorial right now but there's going to be a free series about this this game do you prefer unity on Godot and why now I use good or I don't use Union C anymore so couldn't say even Z is certainly a really powerful tool filled with powerful tools even I really like working with Widow that's all I can say and what are the new mechanics we'll see we'll see in a moment I'm looking to work a bit on level design then add the combat mechanics or character and if we have the time the ability to hit enemies with the hook okay but first I'm trying to understand the code structure how it works because the res man was telling me he had some trouble turning the base kill here into splitting it into more nodes and what I was thinking is like I'll good old the the previous project I'd like this to be so not like this state machine you have a state machine on the player with all of its individual states is what I was thinking and was having something like that was the the bus one ball yeah having something like the state machine on the left while one skill could have multiple individual state but I think I misunderstood how this worked so base and - actually interact with the players state machine both of them in parallel it's so they they interrupt one another that is if you press the keys to two - let see that's the script if you press the keys here you're going to - - I can show you that this is one of the new mechanic it's and you have the player go to be to a corresponding state it's more the - is more technically implemented it's not it's not a game mechanic we're going to to use actually because the the hook does everything a dash would bring the ability to propel yourself in a given direction right but it was a bound code structure seeing how you can add a skill that interrupts another one and that is unlockable right so yeah resume I am NOT saying you're you're wrong or anything right so you have res man in the in the chat he's part of the team he's uh we're working together and you should see him on the channel at some point right while waiting for your video res ban but here we should ideally figure something else so we don't have it's just about splitting this script into something like that so I'm having individuals instead of having everything on the base node would be having like something I would do something along those lines to move ground I don't remember the states what's our idle ground something like that because the these are let's say the base abilities that the player will have from the start of the game it could be a ground idle whatever but the idea is just to to have something like that if possible instead of having everything in the same script right because right now because what when I see these blocks changing the state and all I think we can move that to a separate foul and yeah if we can have ledge let's shouldn't be in luck of all I think it should be there from the start but if it can be completely separate and that's that's good mm-hmm anyway time to get started so I will remove the dash phone now and see what's happening yeah you'll see that that's the weird thing that's what I'm using a gamepad and I don't know why this is happening because it was not happening before it definitely has to do with the bass player movement it's the way you maybe you change somewhere when when the way the velocity works I have to to change to to check the comets so let's do some get blame hold on I can do that with I go to skill base yeah but it's it's kind of a new faster I can go blame and yeah you you it's your fault you did everything let's go back to the Comets then okay it's not this one it was the previous one decouple abilities okay but yeah there again bases is all new so it's not the hook reaction at least okay I have to to figure this out so it's not the hook reactions that should be fine happens whenever I'm going to fold everything could be physics process could be handle input it's the a state direction mac speed acceleration it's not the ledge states that I can fold ah okay so you have moving on the ground here that I guess moving in BR is going to be here let me see and state I don't get why jumping normally works ah it's the way you take the input direction okay so let's see maybe it's this one so it might be on the player right okay I think I see you actually there's a separate function or is it control utils actually the that you need to use this one it's a bit I put it in a separate let's say separate note because both the player and the hook use the joystick direction so the idea is move Direction is not just not just that can how did I called it before I don't remember so that was let's see what your removed in probably so in the playa get no direction was the same that's a tricky one there's something of the the juristic direction right now that effects the vertical movement while it should not it's just that think can I am i browsing the I think I'm browsing the file at this yeah I can character ah that's nice I can open the file back in time instantly with Maggie's super cool [Music] okay let me use the debugger right hi shadow killer think I'm just going to inspect what the move direction does knots on the player on the base kill yeah I'm going to place a breakpoint or maybe a little bit just going to print it otherwise it's going to stop the game constantly you can clearly see how let's see as I increase the joystick yeah love it yes girls aim left and right okay okay okay that's that's actually the aim aim input that's causing trouble here aim up and aim down just doesn't work with the arrow keys it only works with joystick that's that was wife so player that can I just work I can't jump directly to play it okay if I just do that it's fixed fall now there we go okay now let me check just so I don't just do quick and judge fix but figure out I was having some trouble with that get em joystick direction so that's what the hook is going to use and uses the two axes can i okay I want to print that so let's see what's using it probably the hook and the camera is also using it that's what was using it not the player I see now okay I'm going to print that I would just like I want to compare that with I'm paying down left and right I want you to compare the directions here see if move direction for the player should just be that and back in the hook again mitochondria I want to do I'm going to build a vector2 with get action strength so I'm going to have aim right - aim left working on the input right now before doing the level design sometimes control-v stops working in in the editor down positive Y minus aim up okay are going to bring that okay everything is is just stop has just stopped working what bearing is misplaced comma there we go yeah okay the search feature mitochondria again thank you but aren't you a student I mean it's really nice but if you're a student you want to use your money for yourself for all the things you have to you need or those kinds of things um okay so I have to manually go back to the player I'll have to restart Godot to fix the shortcuts that are bumped but I know actually I don't have to to return to the fire yes I yes I did I want to get I remove the print already I was it in base like Gd yeah we have to change the names as well what I print okay maybe I remove the print statement already no I did not words I put that print player scale-space yeah we have to change the names here go just wait wait listed your your link okay so I'm left and I'm right doesn't seem to give me the same thing as scheduled a stick direction so this gives me okay can get the axis strength but actually in control you tells what was I doing get joy axis I normalize the value of course so this gives me always a direction okay okay okay message from the docks okay whitelisting the link all right all right I get it so okay the folder for the player got it that's how it's meant to be now here I'm going to remove the print statements so we want to use that drastic direction and there we go woman bug fixed all right we're gonna be able to start working on level design starting with a quick very quick town map okay so let's go back to the status here and I want player GD I just want to stage this hunk I think that's the only one so I wanted to change and the rest what did I change in there yes the okay for now I'm going to do that I'm going to fix you can't see it but on the other screen I keep my issues opened and so I can see the issue numbers although I can download them in Emacs as well it's faster this way and yes going to push that so that's why because um razvan might be working in parallel right now I don't know what so and it's probably late on in Romania but why do I have two instances of it that was the wild boar previous one okay all right so I'm gonna do a really tiny town map so okay this doesn't want to close right and is this right now this level is a mess the only thing I want to check is the grid I was using I are imported it now I was using it I think it's 20 by 20 but maybe it's a nice sentence how about we try 40 pixels great it would be too big as a base I have to see because they're making levels with that is going to be really inefficient gonna end up with lots of nodes instead I want to have a tall map okay but let's just see it was nice form for typing at first okay so eighty pixels was the base unit I used okay all good one thing I want to check that I have not is what if I have a slope do slopes work I think they want yes there will not showing up is fine going down is not fine at all and it bugs the ledge code as well okay we're going to forget about slopes then for now alright so a faulty by faulty pixels and okay let me kill that one system monitor and we're gonna go find good instance that's completely bugged so let me double check this one should be the one that's using the CPU and this one should be the other because they have both named to do so it's a and no it was not the right one okay yes about them about people are talking about paying for courses in general when you pay you you on top of the content that you buy you pay for support although to be honest it's um it's really tricky I would discount this in every video's description actually you should have the link in this live stream as well so yeah otherwise for people who just ask questions especially when you like that the channel grows in size every day I have 20 30 messages now and so I can't answer I can't answer people otherwise I I don't do icon do any work right okay let's start with an 80 by 80 it's all set and so that's why you have part of part of the reason you you pays is for that it's for support for refining the the course you know there's a problem those kinds of things when a video is on YouTube it's it's out for good you can you have to re-upload to take down the video and we upload it if you need to make a change which is a bit bit problematic as a content creator because you lose all the momentum the video had okay so we're going to have white blue what else come on just want to select white blue green and let's add some orange does is it contrasted enough not really let's add some purple then and how about some we think about what locks a needs for now not too many right okay let's use these colors for now so this is my towel set best art ever I get lots of things like these for example I do that please well sorry but no it's not going to happen that's not we have lots of stuff to do especially why Pokemon series which Pokemon on top of that gameplay of all Pokemon games and the new ones is not exactly the same sense topsites okay go in there it's all set / this one's going to be all right oh c'mon black and white yeah anyway not not gonna happen like we teach game creation in general making copies of of games is really not or maybe you want to make a copy of that game or something like that but it's I mean you can from the tutorials that we have you can learn quite lots of techniques you can use to to create that game to create those kinds of games but then it takes lots of even if you have it store your series it takes experience and a lot of time okay let me create and you going to create a new time up straight instead of having the game seen here I can make a new one and let's call it test our areas level loops here we hadn't areas folds already Harvest Moon like game series yeah no none of none of these requests I won't work on any ah again what's happening with Godot today alright [Music] right sounds going to fold see by 40 and it's great Newton said rates so where's the called basic I said Sal sets basic that PNG and logging to chop you up might be a bit small okay allow me to change the snap options all right got my phone sales and now again start painting okay the wise is a bit strong because let's see now I can do some real level design and I need to set some collisions at least on this one all right done the new tile map setup is so much better than it used to be for the basics at least works really well okay so hopefully the way the ledge detector is implemented it should work out of the box let's see that so too should be what the player can not like that to f6 Oh what's happening with that uh yeah I have to set the collider to be collision collision layer will be weld there we go it doesn't mask anything No [Music] have you composed any new song recently who is this for okay collision layer mask hold and Olin player what is the collision set round it's playable should mask the world okay all right okay now grabbing the ledge works again okay so with that first I should not see these many collision shapes I think it shouldn't merge really [Music] that's where that I'm getting one way collision one way margin Tull set script okay so my one way platform is going to be the blue one let's say that's right okay that's why the Sun sets base is pretty thin let's see the thing is okay so that the character can't really jump that high up on purpose let's go hooking points okay a level test wanting to change you to a note so you're not selectable come on let's get used to this aha it detects that there's something in between but the thing is that tall map collisions are only on one layer so I'll have to see maybe we need to do them one way tiles collisions differently let's see you don't have one like that phones what did Henry Kyd do last time you made some one-way collisions Google ceiling static platform yeah I should really have have made stuff prepared stuff for this one okay there's one of these let's see it's one of these one-way okay one-way collision is on okay okay okay so the hook of all ceilings we have here are one-way colliders but you're making the things with reusable components like that it's dangerous because it makes it so we can't change existing platforms like this one a good ball ceiling no okay I just want the workable ceiling South where is it hook of all ceiling here yeah we have two too many this this way to try and design levels doesn't work using lots of small scenes you need to have the base components but reusable I thought would work but ok so let's see okay it's one way but then I don't get to collide the other way around the problem is if it's hooker ball but not on the world get some issues let's see yeah it collides with it and the huggable ceiling is normally one-way collisions so it's unhooker ball editable children said to collide one way only the edge that faces up relative to the collision polygon to these rotation why is it rotated is it rotated like that there you go I said collides but it's supposed to collide with the other way around okay okay okay so now we have passing platforms okay anyway I'm going to make this one local platform is too thick let's see but that's the thing I don't like too much bounce using I don't want I would like to use Sal maps for for everything if I could where is the small arrow from from yeah it's interesting that's when you okay so the arrow actually comes from the one-way collision thing okay so we have the margin disabled that's it all right and get started creating the level a bit so let's make your children unselectable where is that yeah how do I select okay Tom up I can't click just on any Tom all right let's do it straight to make some level design so you want to you want to use style Maps as much as you can follow those kinds of things right to be able to quickly control shift click and drag should maybe bring that little team on that you can see the keys please tell me if placing it in the at the top like that is good enough I should have it because at the bottom there's going to be the bottom panel sometimes at the top that's going to be the script editor sometimes but let's see alright so I want frames that's our size of the game first okay let's have a two tiles margin around it and get started from here so the thing I want to figure out is what we can do in single frames in the game let me just double check that yeah this would fit this would fit in the game so I can deactivate the camera on the player here what is the camera hey where's the camera camera rig is on is attached to the skin make sense okay not gonna make you current all right and I think okay so this way we can test the levels like so it's ensure that everything works playing with the gamepad all right it's working mm-hmm and we need to teach the very basics of the game to the player and for that I need to do a bit of planning I guess so I'm going to see it does it does this work there we go you're gonna see my face where's the yeah where's the mess here didn't even check better so I had cleaned everything about everything up all right I'm going to use this for level planning let's see if I can and I'll have anything to suspend the webcam to well do something going to be on the mic is this the worst idea ever okay we're going to see it's a bit in Reverse but the basic ability okay so I'm going to start with a level and I think I need just gaps and teach the player the height of the blocks again well I I should start safe so um but that's just about teaching the basics of the game so you start with the movement and jump and you will soon realize that you can't jump very far so in a second frame really the core of the game is okay we're going to start start safe I should draw bigger on top of that you you can't really see too well right allow me to bring back the chat hey chat on the side like that and I have I have to do things have to place the webcam all I need to do a bit of wedge setup too much here yeah so gonna place the webcam that okay but now it's a bit far do anything that should work that's and I'm trying things out now so I found that doing it life I didn't think beyond that but really doing level design this is the best way okay good thing that the gorilla part is I can extend the legs like that and I'm going to look that here right seems to be working almost almost there that's the the one issue with the gorilla cause it's making it home sick holy okay I need it let's see it stick there the workout isn't really attached to the thing all right now okay are we good sorry for the noise and everything is it secure no definitely not but should do the trick falling okay so starting safe I'm going to make larger frames as well let's see so that you can you can see all right so the first thing I want to do is teach the player okay so I'm going to have an enclosed level teach them the height of jumps which it can't jump really far and maybe after that I want to have something for example like that a platform that you you have to jump like that let's say to reach to say yes sometimes aren't gaps so one one way I can do this is to have a setup like I'll have a hole and a platform so you have to to jump like that one two three and maybe less challenge a little gap very easy why is that buddy was coming through yeah sorry it seems like the sound is horrible but that squeeze yeah is it better now it's definitely it's definitely come from here not from the webcam I had you okay let's see if this works okay the this seems I don't know OBS is set to use the H for Mike it should really use the like if I if I come here you can see go to properties h4 oh you can't see I'm not sharing the screen okay should be fixed now so have something along those lines can you see well enough I I feel like the weapon is a bit blurry it's a little far I had needed a better camera setup okay again is it okay so I'm having some issues I feel like switched again yes which is automatic what the hell okay sorry life bug I don't know why maybe because the the sound is stronger on the webcam now why would do that anyway I see that there's an issue or the desktop audio now like it's not getting the music [Music] okay the music should be back right Wow come on tech people are always the ones with tech problems yeah okay so second thing teaching the hook in a safe environment right this is all safe so we're going to have the floor should represent the floor here we're going to have just a platform with a hook very simple so you have a talking point and you need to have come to the platforms all right and I want one I want one like okay I'm doing it like a barbarian now I won't want to be jump and hook to reach the point this is the next thing I want to teach maybe not in the third frame so I want the people to understand that they can use that so maybe it should be in the same frame so this would be one to a to be okay yeah I'm such a savage three would introduce gaps and so maybe one gap you can jump over and then you have another gap that you can't jump over but where you jump well first you you can get it with a straight hook and the third one however you must jump and use the hook so it's the same principle that'd be three what else do we have to teach then we have to teach that you can chain hooks so let's say you have a hooking point and another one and platform so you're going to do hook hook platform and something like that as well I want to teach so hook and land on the platform right so these are not necessarily levels or frames right these can be just patterns like number two to be on the order in which I want to teach things again so although this could give you an idea you can see them I should I should get a marker or something for these are demos but that's the idea so with that I'm gonna get back to good oh no with that with that I'm gonna make some coffee cause I'm not feeling bad enough right now okay can't come with me copy you might start to even if it's really shy and let's say limited way should be careful with the the jokes Amy Oh how's it like having my face right in front of you let me you try to click without breaking everything there we go that's where you can see gooder in the background I make coffee just a bit of the water time and while going to make some drip yes a regarding humor if I I I'm pretty sure the thing is in life I have the very French sense of humor I really like the French British Belgian dark humor in particular and absurd absurd humor so I have to really refrain from doing it on the channel from the mic so things don't get too weird but I normally really really really have a heavy heavy sense of humor and I'm not saying that in in necessarily in a positive way it's I like I like and make jokes that are probably not funny to lots of people but in the sense that they are not necessarily easy to understand as in it's hard to understand the connection sometimes all those kinds of things so it's mostly we laugh a lot with close friends and I do things for example when I first learned bad words in Japanese I would use them so japanese for japanese people you don't you don't you don't use insults and bad words basically it's extremely rare even the the few that you will hear it's mostly in manga that it's used it's not used in real life even to joke to fall around it's very rare so but for me it would put so much fun that started using it I I had a friend a girl who who's Japanese but she's not she's not the typical Japanese so she doesn't mind using using bad words all those kinds of things but she started calling me bastard because I told her the word in English and people on the streets when she would call me that sometimes would look at us like super weird because we'd speak Japanese and she'd call me bastard a lot of Japanese people don't understand this one in Japanese the closest one would be again what was the only she and manga but that are Cassatt Arioch so cry so today one of the translations is bastard I've never heard the Japanese person use it but so cry you'll see it quite a bit in manga it means eat poop pretty nasty pretty nasty thing the series dragons he says if you've seen the series Firefly I enjoyed how they handle the cursing never seen I don't watch series and I barely play games lately the only game I play is even lately as DDR I played a sick hero but I'm far from finishing it like I got it just when it got released maybe did two or three busses that's it Keva coffee is almost ready and I will refill the water but even if you search in the dictionary it's funny because in Japanese are even hard to find because you have lots of bad words in English in French and if you try to translate them you don't find much actually there are few there's the word the the verb physical which means to be kidding are we still going to code yeah yeah of course I'm making coffee there you go I mean I'm here for four hours so oh you can't hear me now probably turning this around I'll head to the restroom real quick can you hear me yeah I'll head to the restroom really quickly and be right back [Music] [Music] all right okay it's a bit high now it's a bit low now it's a bit in the middle okay déjame you ordered yourself a set of key caps what again Thank You mitochondria so mitochondria since yesterday is donating money also supporting the show thanks but you just supported me doing nothing I was just telling stories not not very good ones on top of that but thank you I really appreciate all right um I should be closer and now let's do level design bit more seriously hi David welcome okay okay let's bring the chats here you hear the sound everything is good let's get level designing quick tip for level design and they've lots of things on the computer pen tablet you you'll see really quickly why it's a fight start working my time up here can just really quickly draw the level like much much faster than with the males okay so first level I want to teach the player the player is going to start so I don't have these things on the side because I'm going to design a few levels in the row and I want to move the player the player starting point should be let's say on the left every time place it on the ground and so it's like that tile map it's whit that I I have to select the point at the top just like the tile map but why okay so you walk a bit and then you have to jump one two three four one two three four then I want to implement the systems that just to explain I'm going to design a few frames and I want to start making the system where in the levels we have the spawn point and the end point yes that's all sometimes flicker and you you need to to fix it how can I say yes they Charles can't flicker and you you have a few ways to to fix that okay so we're going to have that and from there once you have maybe a block or one sound platform up there that you can't reach from here that can reach from here let's see okay no can jump farther than I thought yeah so one thing to Oh also important thing in debug sync seen changes as you draw the tile map it updates instantly in-game right and I always have the art key in the game to restart the scene normally is it gone okay I'll just have to add it back to it alright so then the point of this section is with the ledge grab you can you can actually reach it okay make your higher up you can reach it still higher up okay you can't reach it from there but can reach it from that all good so I want to have that ledge grab because because of that because of how you're going to to jump around pretty fast with the the hook pretty quickly I want to have that mechanic to allow us to make challenging sections with the hook and not have to to bother the player with too precise jumps while the jump is not really at the core of the game it's really going to be the hook okay so I'm this challenge what can we have yeah this makes the screen sorry this makes the screen really big okay anyway I'm going to remove these hide them and also invisible collision shapes and then we'll start drawing everything let me see so we can't have the player form the other side I'm going to fill that space you're going to have if you have one way platforms here maybe let's see I closed the level on that side all right how many cells can you jump see it's really and just walk haha that's interesting okay so with that ledge thing have to be careful okay so we have that and I want in section maybe like one come here not shaft the scale of the game makes it so there's a lot of visibility which i think is nice but let's see okay so I want to have the Select tool control B select all that and move it two cells left and I'm not sure about this one this part let's see imagine that the the top is all going to be absolutely beautiful graphics actually the top of this level maybe would have it open I still don't know where the character would start the the idea with the game in the game series that we make in terms of the environment probably going to use the world of the developing world of game development and Godot right and use that for the games that @ge quest okay so I'm thinking now the thing is the frame is quite large so I'm trying to think about how to guide the player to to an exit if it's not too big it looks good enough you know but with the with the way the hook works really need to have that launch that these small cells for one and that large open space right that feels a bit and see where I'm not updating anymore sync singing and script changes yeah okay does the job stalagmites stalactites in French its withers stomach teeth in French is with a sea and stalactites I would guess it's the same in English as the ones that fall and Mike's mites the one that go up I believe okay so this is fine for the first level okay now what I think I'm gonna have a nice question from Wayne yak is that how you pronounce it I'm new to your work gamedev in general do you suggest just blocking in your game with generic animations like this and then doing the art last this is how most people do it this is how professionals generally do it because at this stage and when you want prototyping the levels you'll not sure that maybe you want to change the gravity the speed of the character and all that stuff if you change any of that the animations change you can't have the same run animation for example the character goes slowly all fast because the the spread of the legs has to change and same for the environment art my cells are 40 by 40 pixels right now but maybe I'll figure that this is too small and I'll want to increase it to 60 by 60 or something like that so if you do the art it just gets messed up okay so this is going to be level one this what what happened level one control D okay this is what we call the bug you can see the okay I'm going to save try to okay go to crash didn't like that too much and I could not rename it in the end okay now it's working I can duplicate my tile map so I just want to move you little tile map or you let me move you how do I turn of the editing compliment directly should be able to see it shows the widget but okay copy car bucket fill picked song okay I don't seem to have an option okay I can remove the grid I ain't all all right doesn't seem to work well okay you are not really meant maybe to move the Tama what do I do do I design I don't want to design the whole thing I'm going to save the branches scene out level one let's place it here for now dublicate makes local public it Oh even if i duplicate it okay I'm going to add a note to D then make it the same roots tall map as a child at level one let's see if it works so now okay now I can move it reliably make this local this is just so that's all the tools in my tool map are relative to that point so you can see coordinates in the top right of the viewport when I place my cursor I want this to be the origin 0 0 okay everything so now I need to connect the two control Z not working now I'm using a stable version 3.1 point one norm a my three point one stable official maybe I'm not using the point one and I thought I had gotten it so second level we've done the jumps now we do the hooks okay second level starts pretty high well the thing is actually they think okay well placed level two like that I also want you to figure out how to have an area editor but now I think I got it I got the idea the only thing is that the extents of the level to make them to make it one frame hold on I think I will read a placate level one to have the size of one yeah I have bugs with shortcuts now don't know what's happening yeah crashed again hold on I'm gonna get a new copy of Godot it should be done slash download is it bingo standard version how come the internet is so slow I have five five a cable here some of the videos I'm using as a reference for the next course well that I have to watch right and so my ah but no I know why because I've started Godot from the command line and so my good version that I use from the command line is let's see yeah bingo so I'm gonna grab this one okay to which are going to I forgot to replace that version okay and now yes oh maybe okay it was definitely not the three point one point one then so now we have three one one okay and we're going to make level test the base for the game what they put it areas level test all right so now should work a little better and I lost some of my changes actually okay so we're going to add a note to D which is going to be the level itself so this is going to be the level one trauma as a child there you go save the branch has seen well had saved the the scene though so that's that's not able to make local move it so that the base of the level starts here and I'm going to use I think I'm going to use a tool that I'm not using yet for the frame of the level what is it control no controls to sample is it shift it was shipped okay this gives me the frame of the level yeah maybe yeah I can just have few tiles I go I do want to have the bottom edge there figure it out there you go all right so that way I can carve the entrance here for the player all right and remove all that on the right as well I have to be careful actually to well I'm going to control Z is not working well again it's weird I do want to add some collision to this I didn't like this it's not working it should because of the snapping to works on the first two but not on the third one okay I don't know why gonna make the like 3 4 and enter back to the just a matter of what was what's the matter if I do that I have a collision shape icon trait a collision shape on this side ok it looks like a bug right well the next tutorials go with firebase itself for only good or they firebase in Google it's really about doing a logging screen all those kinds of things and yes make local creates converts I seen two lists of nodes that's are available in the current scene all right now I can add the hooking points Wow visibility not working here I'm having weird bugs today say the least okay hookah ball ceiling while not going to use we're just going to use hookah target them so we're going to have okay I should have some system to set the limits of the tile map and figure out some system to make every lab level editable from here that'd be really great I want to figure this out well hey later okay so I'll have a small corridor go through this let's see drawing is bugged now again I start so the character comes here there's ok we're going to have really a wall okay there are a few things to teach actually more than than a thought at first because we can have the hook target right there to reach something that's unreachable so for slabs like these too high so you can have hook targets from the entrance but then one thing that's interesting is you can not only have the hook take you directly to the platform like so but you can have a target and these are going to be children of the town life as well you can also have the the targets the we're gonna have the the character go up to start to to suggest to the player that there's going to be some verticality to the light balls so let's create another slab stack stack some same size roughly I think I can copy in one one thing yes I see a few few things to teach so one is going to be having yourself what do they say the first things we start with nads [Music] what's firebase someone is is dragon see is asking firebase is a product from Google that allows you to handle login at least as some some web services basically for the player I have to check what firebase dozen does not exactly there we go it's you can authenticate have notification and notifications and have lots of services so I wonder for now they don't have ads and those kinds of things in there as well right so it's a suite of services backed into one place you can have your database to store analytics on whatever data that those kinds of things okay let's have by I'm here oh and now I need to make the camera active again I have to have to do that thing the growing on how to make the the camera snap to levels when need be and all should restore the game was was that is the restart oh yeah but you don't have the game script yeah gained on GD there you go I didn't reload this one it's a mistake okay can you solve the scene okay so [Music] okay second one so I want to teach using that to reach an unreachable platform okay all right so you're going to have one two three four unreachable platform one and more vertical on the horizontal [Music] people talking about procedural generation it's it's nice the only thing is if you make a procedurally it's very hard to make a good level design not just to to make the generation work but to make the game's levels meaningful and fun it's already hard to do by hands but when you generate it procedurally it's even harder okay so next up I want one I want a horizontal one so I want to have something like you're going to need to have stairs yeah maybe steep stairs okay like so it's not going to work fella like that I retry and welcome enjoy your enjoy learning good oh okay problem is these really take you far it's a jumping you can't reach the platform I'll have to see jumping and using that's okay so looking target this is too close yeah cuz the hook really sends you fall right now it's really powerful so see and I'm going to have third one ages who have one in the middle first you to have just one that you can use I think we're going to make it like that needs to be pretty safe from the player right to be easy to reach the platform on the first with target to be back and still reach it I do that yes but it locked by the slabs on that left so let's remove that let's remove that from here as well there are some issues with the hook reaction right now see doing level design is but having to backtrack like that it's really no fun don't want to have that it's all going to make it more vertical yeah okay let's just have the hook targets all now so then in the game may think you'll start without the hook and we'll make it very obvious you grab the hook somewhere and you start to get the the line in front of you so you can get a sense that you can click or do something go to a wall and spring balls yeah the thing is you see how the hook sends the character flying like that that's that's the kind of level design that I want I want to give the player actually with that game so that's the way it's meant to work but I've got to well have to really fine-tune the feel of the hook especially to interact with slabs like these and the game is meant to be a bit house it's not meant to be for absolutely everyone but I do want to make it so see when you cook like that how the character jumps over the slab so let's see full now maybe you can have a wall like so to get you you either get to the wall okay and second one needs to be it sends you really too far so I think characters should have to see how to design this the hook is right now it's designed so that it can take you farther than the hooking point so it takes you on the nog that was the idea at least okay I can't reach we can reach the point back but it's too technical right now but I don't know if this makes the the gameplay the movement precise enough right now I feel it's not very precise so it could be fun but hey I guess then I want okay so I want a slab yeah and I won't see you'll have a hooking point in the middle and the ideas that you need to use it to reach the next bones next chunk of the level but not too far otherwise it's not so interesting can you make it swing like the the character swing around the hook yeah you can I mean you have to code this like everything okay so the point is that it's not reliable you have because you have to jump going in the direction of the hook going up it works going forward it doesn't work gives you some forward momentum but doesn't work as well as going up because the the hook pull force is scaled based on the distance to it and right now you can see it doesn't work to you - well if you are really close pulls you very well if you are in the middle does not fall now you can't you can't just hook and swing around the rope but the point is to to be able to change the hook so it's it gotta see at some point but it makes little sense game design wise to have the character do that I think I'm going to remove the slab altogether and have it just like that and so then I want to move it closer the previous point and the hook target here as well so that you can hook in the middle of nowhere you can reset go if I reset it resets to the previous safe state how about you hold the button and make the momentum stronger I don't think that's a good idea to me would I have a mechanic like that plant the idea is to make the base hook more reliable so more predictable and the way it makes you jump so instead of just applying a force like it does right now it should really we should be able to predict where it's going to take you so that would be the first thing but then have one thing where you charge the hook and you can shoot it and it's going to anchor somewhere and pull you to it or propel you faster bus to point something like that it's really like a challenge that takes you to a different place or different lengths and that you can use also in combat each mechanic in the game should be as versatile as possible that's a plan though and we don't we don't have that in place yet all the focus is on teaching decent game design practices so I want I really want to to explain in the the reality of game design and code and compared to the previous course so really from the game designers perspective but someone who codes as well what are the the challenges of why we want to separate some parts of the code and things that can seem tricky or overly complicated why we do them and how much because the the game design and the things like the hook for example see I'm talking about changing the way the the hook pulls the player etc the most basic way to code it would be to have all the codes on the player script but the hook is a second pletely separate object and it's going to make its calculations itself its complete scene with a number of nodes and multiple scripts but as a beginner maybe your your idea would be to you just code the hook as one single script and if you do that it makes it so hard to change into it makes the game I assume if your game design doesn't work and it won't work at first it makes the game extremely hard to update but yeah really first I'm not happy with the way the first one works here when you are down like that really pulls you too far I really wants the the hook - I want the character to fall back down around the hooking point right and not to go over and the way past it like that maybe we should do something as in Flynn hook where it really pulls you to that point and not anywhere farther than that by default and then have the child hook have you do something like that but stronger so on hold on there was a question I bounced the the swing maybe do the swing part and talk to animation then the coding the swing is is not a problem at all the problem is it does not make sense for the older game that's the main thing gameplay why is it yeah no I I think okay so I have to write this down okay so I have a problem that applies a force to that too no it's not it's not the hook the player reacts car reacts to currently reacts to the to the hook you may jump wave that wave increase the resolution for you then i zoom in for the jump effects the emotion which I [Music] pling who call example Zelda games it pulls you so I hope stays on in which case King this can work let's see if I got some and so from respond because he was working not yes okay [Music] I need to do that when I create the issues adding them to the total project projects that's actually one stuccoing priority okay okay so the the thing is I shouldn't make too much progress with level design from there because it's not reliable I have to change the hook well I can although I can definitely do that I could do a level over there I can have that player start from up then go down no I'm going to have them go up again and let's see we're going to have hooks like you're going to chain one to see B is going to be so there was jump and hook I have I need some people to test the game afterwards but say you're going to have that jump hook and then you're going to have oke Oke hope okay okay this is going to be crappy but jump hook okay so okay and okay something like that so Oh coke [Music] [Music] [Music] I created fit in here III really need to add spikes and the character death from that I think so jump and hook hook hook is this one I need to move the player now jumpin hook is not really working let's see there's that thing where it really takes you too far I have to change that and yet the range of motion of the characters just insane I think right now with the hook compared to I mean it's on purpose but [Music] and see that's that's the thing I drill like when you use the hook it should reliably pull you to a certain point okay can get up to full slabs right so you have to remove one more yeah it's really not so great now now thanks for offering to help test right now there's nothing too interesting to test the project will need some changes you can clone the repository yes the links in the video description as usual and does the momentum scale with the length of the rope yes yes it does but it's not not good enough if I jump here I can actually get this one well this is how level design is by the way it's it's really um you figure figuring out some of the game mechanics as you do that and so I need to move this one up it's fine as well like that let's see how it can send you way too far and not far enough when you kid I don't think it was like as crazy on the was wide range well there's some changes I'll die just not realize because I was playing with too many hooking points too close to one another I had Henry Kay work on the level design but he did not report anything wrong I like think it's the hook is completely wrong right now so it should be on the player base here that we have on hook hooked on to target yeah see it's just a hard good above you right now it's a false five are you able to do a double tap what is double tap what do you mean by by that okay so my scaling on false is like that [Music] [Music] ah yeah I mean there's your one range let's see okay that was the range was a bit it's strange so yeah the power function doesn't doesn't work too well times was the keyboard in need pie okay there we go here I can get a nicer curve so if I'm the the idea is this remaps the false based on the distance to the hooking point so if you're twenty percent of the way you will get 0.6 60 percent of the false and if you are as far as you can be to the hooking point as you can we'll get the full force pulling you so let's see power distance if I'd like a play look okay so I need sign this times I times 2 power right now I'm all 4 times pi divided by 2 versus this was X exponent I see the difference in the curve how much smoother it is with the periodic function yeah but I don't think it's going to make a huge difference in terms of feeling yeah and the thing is I think I need to scale okay what what's his play move speed acceleration [Music] direction distance okay wait wait wait wait wait moves the player velocity plus equal groove direction times accelerations times Delta yeah she'd love to that times acceleration well times Delta it sets yeah it's really it's adding a force [Music] I think there's a problem with how Rasband changed the movement don't ya see he makes it let's I don't think that's a good idea to use the function here it makes it much harder to understand so the velocity or do it change understand that he wants to change play velocity and only one function but we should have a player apply force or something like that instead it's going to be for bad baseballs but a bluff it's going to be bad yeah okay it's all about how we bury that a should be much softer 27 maybe I have to restart the game to change that one yeah and there's really an issue with the vertical axis I really think this this method is not going to work too well okay what did you say in the chat yeah decimals is a website to do some some maths and graphing alright allow me to take a break real quick I'll leave a link in the chat see this website really useful you're applying base false and not full yeah thank you definitely a typo there you go now it's much stronger on the wall away from the points and much weaker when a while very close to it okay the control is a bit better for the purpose of this level but around adding or subtracting gravity on what you're trying to accomplish there no you don't gravity you shouldn't play on on gravity you it's messing up the you would be messing up the logic the the calculations have to be reliable so right now I'm just trying to temporarily fix the the force that gets applied like improve the feel of the applied force with the hook temporarily but yeah thanks Thomas fall for the help but then for a proper fix we need to think design-wise about what the hook should do if it should be a little if the game should be really permissive and so you can fly around in the air and have fun however you want if we want physics based motion like that which can work as long as you don't need to reliably get platforms but another you know another way would be to have a specific move state that really reliably moves the character to that yellow point and nothing else and then it lets gravity do its job once again so it completely separate states once you you hook which is not too hard to to code I think that'd be nice to have to have something like that now play your move I don't like that one so I'm going to have to function I my it doesn't return anything [Music] and pull anywhere being a false should be like that adds a method but having one method with four arguments that you manipulate to make it work like adding a forced not to too fond of that but here for the thing with the the way it works for and the reason I want to make the pull a lot more reliable and predictable is for level design because right now you can hide the level design in lots of ways I think that it's too hard to to make it reliable as it is so you really wants when you're designing a platform and all those kinds of things if you can you want to make the jump distance and height and the range of motion of the character are really predictable in that you could use an equation to calculate where the player is going to move so you can use that for the AI to know where the player is heading and not just where the player is but also you can use for debugging tools and level design well you know that the character will exactly be able to to move that amount of pixels etc so you can place elements on the level design and make sure that some elements are only accessible in the one or a handful of ways anyway quick break because I'm starting to lose momentum test seemed bad okay and for level design we're going to to stop here crashing again can't couldn't add couldn't add the label okay now it's working just so I can say be right back should have that pre pad as well Fonz well let's create a copy that and make it ANCA thinking like set an area to trigger a difference in gravity just for certain areas wants to make it more difficult to ask for the character everything you do game design why is it it has to be really reliable so if you make areas of lower or higher gravity it has to be really visual and it has it becomes a game mechanic very specific and anyway you don't want to add that at this point the base motion and the core mechanics must be well in place before you add anything else and it's it's one of the most common mistakes that designers make even professional ones so I was talking with a big dev he he was he had a job on level design to start to to work on the level design prototype it and figure out the issues with the hook and he I I have to check if I wrote that really really well really clearly because he didn't say anything about the the hook I think but more importantly from the start he talked about adding obstacles and moving platforms and those kinds of things and he didn't do what I'm doing now which is now I have to do it like testing just a calm ocean and the the task however was explained that it should focus on the core mechanics and even a professional designer loses track of that a very common for for people and you're just wasting time if you do that because if your it distracts you from the base mechanic which you need to spend a lot of time on and lots of efforts on and it's not always fun to refine the same thing over and over but if you want to make a good game and a full project this is essential because it's the base feel of the game that the players will interact with all the time that's why I'm working with our graphics as well anyway [Music] okay I'm back all right for level design I'm just going to move things around in the project and you're all full now we're all going to make it local save remove this file let's say I said I would do a four hours livestream but my throat is starting to hurt a bit and I've got to I've got to recall afterwards I mean you can probably hear that there's something with my voice now so let's make it three hours something if you don't mind because otherwise I I think if I keep talking for too long now I'll have trouble recording this afternoon okay so let's do okay about the levels I'm not sure I think I was going to preach like the the checkpoint things and but really the Hoos I need to implement the new hook first all the hook state for the player so that that will be a priority right [Music] so we are going to add we have some petrol AI okay so I'm going to push that okay project look good oh wait okay that I should not change that Damon's at CS yeah no I don't want to change don't want that skills base okay that's all keep for another one all right thanks just push that bit prototype initial okay like the initial levels add time up to edit them efficiently some notes in there that hook so this is for which task let me see like little frames and transitions [Music] okay this closes 3031 and I hold on I should really move you and have you on this side as levels efficiently the hook needs work and needs to do to change too [Music] to help with design levels reliably as well why do I do that I have my scripts to switch all the level design work is subject change subject to a treaty change as a result a level design work okay then I want to do one thing it's so that do I remove it entirely already have all loops didn't we have a playground no just have these because these are not gonna be usable the idea was to extract loops but yeah this is read this was a bad idea what does the void do it's like a gap the player can't fall into it's a really small thing look I remove that right now don't think we'll use that at all okay trait a new issue actually if I do that on the project rate issue issue create there we go okay hold on I should probably detach okay what if I do that if I try to detach it right click can I do that yeah bingo so that's why you can see it's a bit a little bigger so one thing I do have community habits you create and dragon asking will the change you added be available right after this video yes yes in the UI some of the margin and scale controls crossover work around the subtract manually and I bullets is great if needed right the it sounds like you're are you sure there's a bug like that yeah but don't use the okay on 9-patch wrecked I see okay might be might be the UI is generally the UI system in Godot is very reliable it's used for healthy editor but I see um I see a lot of people misuse it because it's quite deep as well that's quite complete I mean the entire the whole go to editor or is it good oh come here the entire editor and everything scaling and the trees etc is are the the control nodes that you use here so often even even a an instructor I mean we we may misuse the things at times all right I was going to write [Music] remove any show we should and exactly I'm an Irish should I do I'll tell max working with cohesion shape as much as possible [Music] Hubb accents all for github and working with free and open source software just to show you so I've written that on the command line and if we go to the repository and the issues will see the issue I created just now can add labels you can do lots of things I can assign people to tasks and all that stuff all that from the command line okay now lights changes what what did I do okay I should do this okay these form now I'm going to X I just want Henry K to be able to see it and let's do okay now the the changes will be up there just have I just wanted to check one thing I closed the window again that's it when I do close a and B it does close the two and not just the first one but I think ps4 push right most 3031 see it closed 30 with not 31 okay and now if I closed I just want to check that they went to done right so three tasks done for now okay I'm going to thing is the the staggered part is going to be a little tricky play a def and respawn my voice is starting to crumble a bit so as we just close the tests the task and I pushed everything I think I'm gonna stop the stream here because my voice is only gonna get worse from there I really wanted to do four hours but it's it's not worth it if I'm not gonna be able to speak right you can follow the project on this repository that you can find in the video description and in the chat please start the repository if you on github little click it helps to have it rank higher up and so that more people will be able to find the game which is free and open source right now it's still a small project but it's only going to get better from now right and I want to thank you very much for joining ok it's it's really time to take a break let me see there we go thank you very much for draining the stream there will be more while also looking to do short game jams on this project with the team so tomorrow Wednesday tomorrow yeah well on Wednesday while doing that with the team with Enrique Gil eme everyone's going to be working together but that said I want to thank you kindly for watching be creative have fun and let's see one another in the next one bye bye
Info
Channel: GDQuest
Views: 9,785
Rating: undefined out of 5
Keywords: godot docs, godot docs sprint, docs sprint, write the docs, godot manual, godot open source
Id: hl1mJVt2u-A
Channel Id: undefined
Length: 165min 24sec (9924 seconds)
Published: Mon Jun 10 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.