I'm finishing my ninja game - Come Play! - Lego #Unity3d

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
all right hello everybody and welcome thanks again for joining me today we're going to continue on with the lego ninjago game jams this is a game built in unity with the unity micro pack the lego ninjago one specifically and i've got the game mostly done i would say the core gameplay mechanics are primarily working you can click the link down in the description and actually try it out and play it i just did a quick update to it i think i'll show it real quick we'll run through see what the game looks like and then finish out the actual um the systems and other things that we need to do first though i just wanted to take a drink and say hello to everybody thank everybody for coming out and joining me live and i'm kind of curious if anybody else is in the jam so if anybody else is using or joining this game jam or submitting something please just uh drop a comment in the chat and let me know or down in the comments later if you watch this afterwards let's take a drink and load up the game and if you want you can um play along with me i need to make sure that i mute my sound otherwise it's gonna blow out everybody's ears and i would recommend that you turn your volume down too when you play because audio was one of the few things that i have not addressed yet so it's kind of loud and a little bit obnoxious all right so let's play and i'm going to switch over to desktop mode now i need to get my stream deck hotkeys set back up so you can see it all in action all right so here's my ninja tower game it's posted up on simmer i got the link there and you can see i got lloyd here and actually i was uh talking to the little one he wants to switch this character he doesn't want to use lloyd anymore he wants to use zane and for some reason this is not getting the performance increase that i was expecting so when i tested it out earlier i was getting much better performance and now maybe it's because i'm streaming it's still not running great there are a couple performance issues that i want to address and a couple that i already took a look at and we'll talk about those in a minute let's see if i can make it up to the top of the map though so i'm jumping jumping jumping running and jumping i can't make it up that one so i know i gotta turn around here make this jump make this jump onto the safe platform all of these ones with all those extra bricks are just a platform that we made two days ago that mark has like a checkpoint so just makes it so you can't fall down below oh and i died to the bad guy and the game should just reload after a couple seconds i think it's set to like three seconds or some little delay let's see if i can make it up to the top though i want to try one more time also the background right now starts off in green as like the easy mode or the easy level and then as you go up higher and higher it gets darker and darker red goes from basically from green to red as a little bit of a tint here let's see if i can make it up there nope missed that jump can i make this jump let's see jump jump jump oh nope i am not doing very good with that just the timing of those jumps there we go okay now we spin it around i'm almost up to that ramp let's see also yeah if you if you play and get to the top watch what happens because it's uh not the not the best effect and it's one of the first things that i want to deal with oh man i missed that one okay so i want to fix that so that the uh one on the left there isn't an elevator because that's kind of annoying you got to jump back and forth over this bad guy um just a time when that elevator is going to be there so i think i'm going to change that from being an elevator but when you get to the top essentially let's see it in the um the non-simmer version in the editor when you get to the top the goal is that you see let's see if i can get this lined up master wu and uh the rest of the ninjas so you get all the way up here and go visit him and i might do an executable build too just in case the webgl build never gets fast enough if the webgl build is still slow after today i'll probably um release out an executable build on simmer or somewhere else too that people can play as well in case that is just the only way to do it so first um let's take a look at collaborate because i've made a couple of changes and i wanted to show what the changes were for performance that i've made before we dive into finishing up extra features for anybody that's following along was watching yesterday and was kind of curious the first thing that i've done is enable occlusion culling so a couple people recommended this yesterday and it was something i hadn't added yet if you go to rendering and occlusion culling right here you'll see that you get this window over here to the right it just says occlusion let me get the bottom of unity showing real quick i got to resize this just a bit and we'll get the bottom part up so you can see the little bake button down below show you how that works so when we can i get the right window so i got a black window on another black window it's a little bit hard to see so here we are now when i'm in here you can see it's already got it um does it have a bake yeah let's go over here oh no i'm on the right side so here you can see that only a couple of my objects are showing up because the occlusion culling's baked what's happening here is the camera is only showing what the cam what what the cam the scene view is only showing what the camera is going to render and then it's calling out everything else if i clear out the occlusion coloring you see that all of those objects are now rendering or there and then when i hit the bake button the preview here will just cut it down to showing only what the camera is actually going to render and i want to hit play real quick and to show what this does at run time it's not a huge performance increase for us because the big performance hit here is with physics but it is a performance increase nonetheless so let's take a peek so we'll go into the scene view here take the scene view make it side by side and you can see the objects there are kind of um oh now they're off the screen when as they go off the screen because i resized my camera they actually stopped rendering too let's put this into a 1920x1080 there we go let's kind of lock that resolution and jump up and you can see as as we go up and things become in our camera frost them they become visible they'll start to render and they don't render until they're in there but if any part of it's visible like that yellow box that we've got there for the background as soon as any part of it's visible obviously the entire thing shows up and as soon as none of that green box is visible and there's the whole green box stopped appearing so that's an easy one to just turn on you just go in hit the button hit bake and you're pretty much done you don't really have to do a whole lot of extra work there for your uh your baking options most of the time you could adjust it but i think that for here we've got a pretty simple system the other thing that i've adjusted was the physics time stamp so if first i want to take a look at and show you why let's go reset the physics so i'm going to go to project settings and go to time and we'll set it back to 0.2 and i'm going to open up the profiler window so go to window and sequencing no analysis and profiler i'm just going to pull this up side by side or maybe dock it down here below and get an idea of how fast everything's running and where the slowness is so here it's at point two let's just move this um let's just dock it right over here next to the occlusion calling and let's hit play i just want you to see where the slowness is because when you see the webgl build obviously if it's a little bit choppy you might be wondering why and the core reason here seems to be i'll show in just a second once i do a couple jumps jump around a little bit let's get up here i'm glad somebody likes the background thank you very much i have a lot of fun decorating the background up and stuff so i'm glad glad to see when people enjoy it so here you can see in our player loop we've got a time value and let's move my big ol head off the time value so you can actually see it and the time value here is 19 milliseconds i'm going to drag this over a little bit so it's a little bit more visible and then make the profiler window in fact let's just take the profiler window and undock it and we'll make it nice and big set it up right here so our player loop is taking up 19 milliseconds on that frame and as i go through the frames you see that they're all taking of over 10 somewhere between like the teens low teens and up to almost 20. expand it out a little bit you see that every time it's in this physics update the physics fixed update is what's slowing it down and the reason for that if we go down here in the profiler even lower and go find our physics section is all of these colliders so i have a ton of colliders here because of the way that i built my level because i built my level by just stacking up a bunch of towers on top of each other each one of those towers is made of a bunch of bricks and all those bricks have colliders and eventually it got to be too many and there's probably a good way to optimize that i'm not sure what the best way to optimize it is so the quickest thing to do is to just go in and turn down that physics time step so if i turn this time step to eight so that it updates physics at about a quarter of the rate that it was before then i should see that the times just drop down here quite a bit the number of colliders and stuff isn't going to change but the other stuff will now what i'd like to do ideally is just disable physics on those objects completely but um i haven't quite figured out how to do that yet so here we can take a look and you see that the time now is we're looking at like four milliseconds five milliseconds so it's gotten quite a bit faster we've definitely sped it up a lot and you look at here it's um where's our physics is it even in here player loop i don't even see physics showing up anymore let's hit let's hit play and just run around a little bit first run jump a little bit let's add a break a stop again yeah i see you can see that the physics stuff isn't even um isn't even registering anymore so just turning that down that's that's a big jump i'm surprised that it dropped that much though i mean i expected it to drop i just didn't expect it to drop quite that much oh there we go here's some physics stuff going on and we're at six milliseconds all right so let's see what else we've got here in the another thing that we could do theoretically is to maybe just disable some of those towers as we're jumping up but since the game kind of runs fast enough just by turning up that time step i think what i'd like to do now is add in the rest of the features so the final thing that we need to make the game actually winnable is the win condition working if i get all the way up to the top right now the game doesn't actually end i just kind of run right past sensei wu so let me um you know do i want to play through let's do one more play through when i'm in editor mode where i have great performance and you'll see that i can jump up and down and stuff and make it all the way through and then you'll see what happens when we try to win and then we'll see if we can figure out how to use the game state stuff to fix the win actually i can't grab my um my block right there let's let's adjust that first my collectible isn't being collected i'm actually too far back and i think if i just go to the scene view and go find lloyd here go find my lloyd one button and look at him yeah he's pushed in a little bit too far i need to just move him out i think i reset his position back to zero when i was messing around with it if i go to the inspector i think i had set his x yeah i was at zero and probably just from me resetting his position or something and he got a little bit offset i was playing around with a couple other characters guy jay and naya here and um i think there's a couple other ones that i want to pull in i was talking to the five-year-old he really wants zayn to be the main character so i'm gonna switch lloyd with zane in just a little bit but first let's play jump up and make it all the way to the top see if we can get the prize or win the uh i guess win the competition right we'll see all right the goal is really just get to the top of the tower go see master wu so let's jump up there oh also one thing i didn't mention is that since yesterday i changed my camera view just a little bit i adjusted the angle of the camera i just tilted it down and moved it up a tiny bit so if you were curious why it looks a little bit different than the first version of the playable one where because now you can see the bottoms of the bricks that's that's all i really did was just adjust that and that was mostly so i could see the bottoms of the bricks i was like oh that's cool i can see the actual bricks there i i'd like to see that can i make it up this this moving platform one is tough i still need to fix that other spot too with the um the platform right here so we'll do that after i win or after i try to win and don't win let's see so i jump over and i still lost man performance oh i have my profiler window up still don't i let's go to default let's reset that completely maximize my performance there and i want to see the stats there okay there we go now i'm getting good frame rate come on lloyd run run run right due to the ground there let's fix that up too all right jump jump and i just want to keep watching my frame rate make sure that it doesn't drop down and then one of the things i'm thinking about doing by the way for performance if anybody has some good ideas for a quick easy way to fix the performance issues let me know but one of the things i was thinking about doing was just toggling those towers i mean really the towers should just be visual so they shouldn't have any performance hit but from what i've seen there didn't seem to be an easy way to make just a visual version of the model that didn't have the physics and stuff built in so if i disable the um disable the brick it turns the whole thing off and there was no way to disable just the physics all right so i made it to the end and that's it nothing happened so what's supposed to happen is i get here and then the game goes into a win state let's take a look at how that's supposed to work and show it and then we'll figure out why it's not working so there's a game flow manager and this was part of that lego micro kit and it's got a win option and a lose option it just has a scene to load whenever you win or lose and a delay for the amount of time so the wind thing should have been called and the wind gets called by this brick up here at the top there was a wind brick that we dropped out onto the scene yesterday and attached it's this one right here so i've got this win action and it's supposed to fire off a win event it's got an objective to touch the trigger and the trigger is just this one thing here so all you have to do is touch that trigger and once you touch it it's supposed to make it so that you win the game or at least that's what i thought was supposed to happen but for some reason that's not happening so let's take a quick peek and see why i think i'll start by just opening up the win action and just take a quick look at the script from what i remember it fires off an event that goes into the event manager and then that game manager listens to that and then if it if it finds the win event it goes into the win state plays the effect and then it also has uh something that it does for all the characters it should change all of their animations let's go find that win action here we go so when this thing is triggered let's find it so it's got a touch trigger object objective is touch it touch a thing oh maybe i want a nearby trigger instead instead of a touch trigger let me switch it to a nearby trigger let me pause this actually here's what i'm going to do i'm going to move light up to the top i'm going to replace that touch trigger with a nearby trigger see if that's enough see if that just fixes it and maybe i don't need to do much debugging or anything else so let me find the lloyd or here let's find this height here what's the height of this win object 134 i'll go find lloyd i'll move him up to that 134. one three four there we go a little bit more so just hold ctrl and drag him up and then i'm gonna move him over to the left a little bit so that he kind of runs over to this wind spot then we'll find the touch trigger i'm going to just delete that block well first let's select the prefab so i can get to the folder now i've got all of my other blocks i'll delete the touch trigger and then i'm going to find that nearby trigger drag it and drop it right in and snap it onto that block now i've got that attached and it wants to check to see if i get within 10 meters um i think i'll move this down to five so you can see that little gizmo drop down let's go to about five let's hit play oh i didn't save my scene that'll be fine i'll hit play and it's gonna load in once and then it won't do it the second time because i didn't save all right play one two three four five i don't know doesn't seem to be happening all right let's see what's going on here stop playing let's take the i'm gonna take this wind brick um oh weird what is this okay why are these separated bricks okay let's try this i'm gonna take this brick i'm gonna drag it down here to be part of that object okay no i'm not i'm gonna make these separate things i'm gonna take this and delete that wind brick i'm gonna take this brick here and just delete it i'm not going to attach these to the platform i think i'm just messing it up when i attach it to the platform somehow i'm just going to snap it out here in the world go into this move mode here and maybe i'll leave it um actually you know what maybe i'll put it over here behind master wu or uh sensei his name sensei wu i keep forgetting i keep thinking of league of legends all right let's let's move this over here and we'll get this lego kind of in position i'm not going to snap it on because i'm not sure what that's going to do right or due to it and then i'm going to take the nearby trigger and snap this one on so go back to lego mode snap it on now there one object i've got my nearby trigger i'm going to call this wind trigger let's rename it win trigger and then it's going to win whenever the player gets within 10 meters of it so that seems fair if that works let's oh let's see if it works so it wants me to get to the object i figure out how to show objectives next that would be fun all right let's play we run over there he gets to the end he went nearby it but um didn't seem to have done anything very curious why is it not doing the win action maybe it is firing the win action and it's just not working let's let's go into debug mode and just see if i can figure this out so i'm going to hit f5 will attach i've got a break point here um i think i want to check to see when it does let's see it's got a touch trigger what does it do it's got to reset i just want to see how this works exactly when the win action fires off what does it actually do maybe it doesn't do something maybe it actually needs something else to do a win am i missing something let's do a search for win action references so do shift f12 we'll find all of the win action references we've got one win prefab um building what is all this stuff i'm not seeing how this win actually works for some reason i thought there was a win event let's go look at that game flow manager i bet that that's where it is if i look at the game flow manager it registered for a couple events for winning and losing so where's the win scene let's find the flow for that easiest way to do is just look it up in reverse so we'll find the part that we know happens like when you win the win scene gets called and just see how that gets called and figure out where the break is where it's not getting called so it's not an asset it's going to be somewhere in code it's going to be okay this line right here that sets the scene to load which checks to see if we had a win state that's right i remember looking at this yesterday and win gets set to true only in one case so i can just search for control shift f bring up the find in files search for win equals and space and find the one spot where it doesn't get set to false so we've got the objective manager objective manager looks to see let's see if we won or lost in the update okay so if we've won or we've lost in the updated it'll call this let's find m1 and see when m1 gets set and one gets set to true in update game status when there are no things that are set to lose and then here okay gets toggled based off of whether or not some objective is complete so if something is set to lose or com not completed then we've got to just figure out what the why is the objective not complete so the objective should just be get nearby that thing and that should be getting set to true when that block activates so let's hit f5 i'm attached here i've got a break point in the activate that should be turning on that objective i'm going to hit play i expect that i'll run forward hit that break point and then or maybe not maybe that's where the break is that that break point won't get hit we're not actually getting into my objective calling it's got to be something simple going on but we'll figure it out so is completed is set to true what is this objective so if we look at this here so look at locals section of the debug window let's pull it up so you can see what window it is it's a debug window down here look at the local section you can see that i'm on the win object it's got the activate method wait why is it completed oh this is that game object okay checks to see if the condition was met oh i know why got it here's what's going on check this out stop playing let's take a look at sensei wu i figured it out i think so if we look at him he's set to be a player so he's triggering it he's making it so that we instantly win and then it's probably just bugging out because it's happening right at the start of the game so let's hit play and do it without sensei wu being tagged as a player and maybe we won't auto win and have the game break wrong one two three four five maybe well not quite but i guess we got part way there let's hit f5 reattach and then hit play one more time and see if i shouldn't get the break point now for master wu or sensei wu and they're triggering it i should only get it for lloyd going through let's try it we run up here okay we got the enter on completed fires off or is set to true that looks good and then if we go to my objective manager got update game status so that's in on progress or on progress i guess i wonder if that just got called a second ago is that a break point there too i'm gonna stop playing and try it one more time because i think that that might have progressed it but i'm not 100 sure or maybe it didn't register for that event and that's the problem all right by the way thanks everybody that's out here in chat for joining and saying hello if you're doing the jam make sure you share your game because i'm kind of curious to see what everybody else is making and if you're not just make sure that you hit the like button and subscribe and all that stuff helps a lot makes me happy and makes the little numbers go up please hit the buttons alright we run over here we hit the break point we get the completed and then we've got on progress is this the sign it's not why is this not assigned to anything this should be getting added this should be getting added right here in a on objective added do i not have is it i bet what's wrong is that i'm missing an objective manager let's see yep i don't have an objective manager in my scene i bet you anything i just need one of those so i'm gonna stop playing we'll go create a new empty game object objective manager i bet there was i wonder if there's a menu button to just create a new lego scene it wasn't i probably should have just used one of those and i bet if i search for objective manager look at that oh and there's an objective manager hud objective hud manager interesting so i've got to set up an objective hud soon let's save though maybe i'll steal an objective manager and a hud from one of the other scenes so just yank it right out of there and copy it and pull it over let's hit play see if i can now win all right we're run run we get the objective complete we did not win we did not lose i'm just going to stop attaching okay there we go we activated it we progressed let's see i'm gonna hit the break point here one is equal to true i'm guessing it's gonna win the game for me now i'm gonna detach yep there we go he was like he did a little party let's stop playing and play again real quick i'm gonna do it this time without um without a break point attached or without break points play i expect that he gets to the end and then it's a little winning party maybe he's gonna keep running though i'm not completely sure i don't know what happens exactly with the win okay there we go yep they all start partying that's what i expected cool so once that happens um i probably want to like zoom in on the characters too have them do like a cool little uh a cool little transition to do like a little party let's set up a quick camera there that we can turn on or enable a vcam that we can enable and blend to and then we'll um play through real quick with the full the full loop i think and then actually i'll maybe i'll add in an objective manager too with uh objectives that you have to collect or maybe that you don't have to i don't know i guess with the objectives you have to pick everything up huh i will figure it out let's add in a vcam next so i'm going to go to cinemachine and i'll go create a virtual camera i want to make a virtual camera or a dolly tracked camera i think i'm going to start with just another v cam and i'll put it up here kind of like zoomed in on these guys maybe right about here where's my vcam ah go find my vcm find it ctrl shift f get it locked into place i got my camera right there and then if i make this one solo so if i go to the game view and hit solo oh it's actually already locked on there let's turn the priority down to a five here and then if i solo you'll see that switch on and switch off but i want to bring the orthographic size of this one way in i want this closer maybe i'll make it not orthographic make it a perspective camera view now let's just make it orthographic and bring it in just bring it in to right about here kind of a close zoom in view this will be called my zoom in view and then let's call this normal view vcam i'm going to put vcam on the end of these all right be a little bit clear what they are and then maybe make a cameras folder do i not have a camera subfolder nope right click create an empty folder game or an empty game object call it cameras and i just add equals to declare it as a folder make sure that i know that this is just a folder not an object with stuff on it and then i'll take my two cameras and drop them underneath there my two v cams at least and let's take the main camera as well drop that under as well so now i've got all of my cameras underneath so make sure that you reset the position though if you're using folders or using game objects as folders reset the transform so that it's all zeroed out so you don't mess up the offsets and the children and everything it'll mess with things when you get into code if you start doing that all right so i've got my two v cams i've got my normal view one and then i think what i'm going to do is just disable this oh no i'm going to enable this one i'm going to disable the zoom in view camera i'm going to turn the priority up instead of down so instead of being 10 i'll make it 15. and then i have a block that enables things on the trigger so i'm just going to use that block so i have my where's that block that we made i used one of those green icons if i can find it i will find it it was the activation thing or enable let's just search for enable i feel like i'm blind i know it's in here toggle game objects that's what it was called i renamed it should i look for the one that had a weird name that didn't match the naming convention so take toggle game objects i'm going to drag this out here it's just another brick that we made two days ago an extra custom little brick so that we could toggle some objects on and off when a trigger happens oops let's undo that oh i hope i didn't break everything by hitting undo go to single brick mode move this brick over and snap it down now the object i want to toggle is just going to be that vcam so i'll take this zoom in view vcam add it here to the elements i hit the plus to just make sure i can add an element and i'll check enable so that it turns it on this is again just that custom action if you want to see what it looks like i'll show you the script real quick very very simple inherit from repeatable action in the update check to see if you're active if you got set to active then do the thing the active just means that this object got activated and right now it's doing it every frame not the most performant i know we have performance issues but the performance issues are all around um and they're they're all around physics so it's not really going to matter if we made any change to that all right so that should change my v cam let's hit play and see if it just zooms me in real quick hit play and we run over here it zooms in they have a little party all right that looks pretty good i think i want to move these bricks back behind the background or something so that they're not visible or so they're at least not in front of the character that you're running to let's let's do that get them back there take my wind trigger um i'll just move him back behind him at least they don't have to be behind the whole scene so they can still be visible we know we have bricks there but i want to be able to see the stuff that's going on now um what else did i want to do i want to set lloyd back down to zero oh i want to fix this platform real quick this moving platform i don't want it to be an elevator in fact i think i'm just going to remove the elevator component from it completely and move it up a little bit so take it move it up just a little bit here and then remove that elevator block there we go just delete it just make it a normal one since you're already dealing with an enemy there um dealing with another one it's just it's not that much fun i don't want to do that so we'll leave that that out um what else do we have here wait can this make it up though that's a good question is this going to make it up to there hmm i don't know i guess we'll find out actually i probably won't find out let's just duplicate it and we'll make another platform maybe where do i put this here's what i'll do i'll undo that delete let's take this platform i'm just going to move it up a little bit more so if i jump up here i should be able to i think make that double jump up to there and then up to there pretty sure i can make that jump okay um oh i'm missing some tower blocks here what happened oh they're probably just getting called by the occlusion calling oh maybe not maybe i accidentally deleted the blocks all right so i think i'm gonna save and one of the things i said i wanted to do well i want to do two things i want to show the objective manager and show that but i also want to get the character changed because that's a very important thing if i have the wrong character in here when the five-year-old plays it's going to be a nightmare yeah i mean it won't really but it won't make him as nearly as excited as if he gets to see the character he actually asked for so let's take a look at the objective manager stuff really briefly and then we'll jump into adding some more characters vlad and zayn and i was thinking maybe we could um add in characters that play differently so you have different characters that have different numbers of jumps or different speeds or whatever and then allow the player to pick the speed or to pick the character that they want to have so well i think we'll do that we'll start with the objectives and then we'll jump into that and then we'll do another build put it up and let everybody play all right let's go into the objective stuff now so i'm gonna find some of the example scenes go find here we go we've got sky bound rescue in of course i think the trying to think no skybound rescue is the flappy birds game let me see this one might have an objective singing let's hit play and see it's got an options menu a game over fade a game hud um find and rescue kai avoid the army is the objective okay it's pretty simple uh let's see how this works we've got a game hud the game hud has an objective manager hud and then it's got an objective win prefab i don't know what that is and an objective lose prefab let's go take a look at the win prefab and go to 2d mode maybe it's something that shows up in 2d oh maybe not let's go see what it's got in here it's got stickers some progress okay it's basically settings it looks like um and then oh maybe it is it's an actual canvas object okay with some settings take another look at that hud object one more time so it's got to lose and a win an objective panel and then a variable hud manager um what does this manage are there what are the probably if there are variables or something so then we've just got this one objective for winning i'm going to stop playing and see what the scene looks like so by default the scene is just this game hood i wonder if this is a prefab i can drop into the game yup oh game manager look at this and i probably just need to pull in this game manager and a game hud i'm going to do that let's go into our main scene go grab a game manager and a game hud and pull them right in instead of having to recreate them ourselves so i recreated them from the scripts but i think that i don't need that i think that i just use the prefabs instead so open up my tower jump i have another copy of it without towers this one runs a lot better by the way because we get rid of most of those colliders or most of those physics objects in general i guess i guess it's primarily just mostly static colliders but getting rid of tens of thousands of them or 10 000 of them helps a lot all right so we've got our tower jump scene open let's go find the game manager prefab there we go game manager i'm going to drop that out and i'm going to find my game flow manager take my tower jump scene name copy it and delete out game flow manager i'll replace the scenes here instead of using menu win and menu lose i'm just going to reload right back into our scene maybe i could go into a menu alright let's yeah we'll go into the menu for now let's go we'll let it go into the default menus and then let's add in the hud so we have a gamehud object i'll drop that in as well we'll save and then oh do i have an objective manager yeah let's delete that i don't want two of them the game manager already had that objective manager on it so let's hit play i should probably look in that prefab folder see if there's anything else in there that i should use okay so there we go get to the object get there okay um what's the object interesting okay how do we assign um get to the object where is that coming from let's find the wind trigger and then okay here it is get to the top of the tower and then for details um avoid the bad guys i guess i mean that's that's what i want you to do get to the top and avoid the bad guys seems simple i don't know if anybody's got some better description text that i should put there please just share and let me know all right let's jump jump jump and jump jump and jump again jump jump jump jump i could probably just keep saying jump over and over or just keep jumping up until we get our platforms out whoops missed that one that's okay and make it up here see if i can get all the way up to the top this time and actually win and then it's going to take me into a win menu that i'm not sure what it looks like but we'll find out i've probably seen the win menu i just don't remember it okay i can't make that jump maybe i need to redesign this part of it i want you to jump back over this guy twice um i'm gonna i'm gonna do a quick redesign of this this little challenge because it's a little bit too difficult like you have to jump him and then you have to jump him again um i feel like it's just it's not easy enough it should definitely be an easier challenge so let's take this platform and move it down just a little bit and then i'll take this platform we'll move it down uh maybe to the problem is i want to make sure that you're not hitting your head when you're jumping over that way so maybe like about here so it's pretty easy to jump up and over and then you can get onto that platform there we go let's move it up just a little bit so the platform's right above the other one um that seems good maybe i could avoid putting out platforms below this one but i don't know if i necessarily need to i'm take this crystal we'll move it up here and uh maybe onto this platform or something so it makes a little bit more sense where it's positioned now i should be able to make it all the way up to the top my tower is still busted here though so let's just take one of these towers and see if we can figure out how to fix this real quick take these bricks a couple extra loose bricks right there i'll take one of these tower objects go out of brick mode duplicate it and just hold ctrl move it up until it kind of snaps into position let's save that off now let me show you guys real quick why i can't just turn off the physics stuff and maybe somebody watching has a good idea for how we can fix this and how we can change it but if you look at these towers so you can see all of the the little green around there with all the little colliders that we've got they are marked as static but if you look at the actual um the bricks here you'll see that you can't really just disable the actual components so if i go find go find a specific brick there we go got like this white brick right here right i can't disable the actual collider components if i go into debug mode i can see all of the components and really what i want is just the renderers but there's no way to um i guess just stop it from doing whatever physics stuff it's doing and i'm not sure exactly where that is assume it's somewhere down in one of these layers of stuff so if anybody's got an idea a suggestion on how to make these just render or not act like bricks just look like a regular model for performance reasons alone please um share it let me know drop it in here so what we have what i have done is turn up the time step so that everything slows down so that we can still get decent performance we could also again just turn the objects off too maybe only have the ones on for our area and that would be a probably a big performance increase just take all of the objects and then batch them up into chunks so that the ones that are near us are the only ones that show up do like essentially like a little quad tree type setup but a simple one for this or a little grid even really just a height based setup we could check the player's height and then if the height of the object is offset by some amount just disable all of the children and then re-enable all the children when it's not you know when we're two when we're close enough to the thing in fact i might do that but i want to do that afterwards because i want to just finish up gameplay stuff and not worry about performance and little random performance tweaks that don't really qualify towards building a game alright so let's find lloyd and i want to move him up to the top now instead of him being the main character i want him to be like a uh the guy that you're going to his party so you're going up to join him at his party so instead of using lloyd i'm going to use a new character for our main one i'm not going to use these two that i've already pulled out here because i already pulled them out i want to go through the process again let's take zayn instead so go into our prefabs mini-figs and find zayn apparently he's the ice ninja so that's the one that we've got to use it'll drop him out into the world zayn is by default i think exactly like all of those other characters and he's gonna oh let's switch out of debug mode here he's gonna have the minifig controller on which lets you do the wasd movement and that's not what i want we need the one button minifig controller script instead so here we go i've just added that down below just i literally just added that and then moved my head off of it let's remove the minifig component and just use the one button one here let's click and click there we go refresh the editor so by default remember we are moving continuously so he'll just run forward and then when we press a button he jumps that's all we've got for input and stuff if i go find lloyd one button disable him go find uh where's my character again zayn i should just be able to hit play and now play with zayn as long as he's got that player tag it's on the player layer i expect it's just gonna work yeah by the way we did run the profiler a bit ago and the issue the performance issue is all around um uh physics it's all just collision stuff so there's an issue here with my camera right now the camera is not following zayn let's take a look and i'll show you why when we set up the camera yesterday we used the cinemachine virtual camera so we made a vcam and i think i actually made a 2d cam and then made it look at the character and if we go find the vcam it's under my camera subfolder at this main camera here this is not where we set the settings on it it's instead this b cam i've got the two here the one for zooming in when we win that we just made a little while ago and then the normal one the normal v cam by default it's set to follow lloyd so this cinemachine virtual camera has got a follow and a look at i just need to change these over from lloyd to zayn now if we want to allow for character customization or character selection we'll need to set this or have some other object that follows our character that this follows as well so we need to be able to change that to whatever our player prefab is or our player character is if we allow them to pick different characters which again i think i'm gonna do once we've got got this working so here you can see the little previews of the the camera from cinemachine and let's just run over here there's all that commotion out there okay and just keep getting back from the dentist all right let's run jump jump jump and let's see if we can get all the way up to the top of the tower almost there come on the hard part see gonna be if i can get past the uh the enemy there that's killed me every single time that i've tried it it's this guy right here this evil skeleton i might need to just shrink him down to maybe make him not quite as tall because he's definitely not the easiest to jump over all right jumped up to here jumped up to here jumped up oh i missed it okay jump up there we go am i gonna make it just gotta not go all the way off the edge and we got to the party and then it's party time awesome so it actually worked we made it all the way to the top went through the flow let's see what happens at the end assume it's going to go into the windscreen or the windmill oh you know what i've removed the win menu so it didn't go to the win menu because go to build settings i actually set it down to only my tower jump so let's find menu win let's find those menu we've got menu win and menu lose i'm going to add those in i want to see what they look like real quick let's go i'll drop them into my build settings and then i'm going to open them up and just see what they say what they look like maybe i can just use those as my my win and lose scenes so we'll save let's open up the win one and hit play okay you won that's it and then a play again button okay and then play again does what let's go find play again guessing it just loads in some scene yeah loads in the lego tutorial all right so let's say this will load in the tower jump level um i'm going to name re-save this as a lego like a tower wind scene so tower win and then i'll maybe make a tower lost one that loads in when you lose the tower the tower game so let's find the tower win or the win let's find the lose i already did the win let's find lose scene men you lose and then we'll make a one that loads back into the tower scene again it's gonna be probably a button down here let's see play button yep goes into lego tutorial we'll load the tower what did i call it tower game now i've lost track of my scene name tower jump tower jump save let me make sure that's what i put in here is tower jump too just want to double check tower jump okay cool so i've got tower win tower lose let's go into tower jump and make sure that it loads both of those and then i need to make sure that my um play settings my build settings has those two new scenes that i've added instead of the old ones that i just had a second ago we've got menu win menu lose some changes to tower copy that replace menu here with tower as well save that we'll go into the build settings vibrate non-stop what's going on here build settings what's the notification anything important no pizza that's a apparently everybody wants to sell me pizza today lots of pizza ads all right so let's add our open scene and then we'll add in those two menu scenes the tower win and tower lose let's see where's tower lose let's just search for a tower lose okay where's my lose scene oh i didn't resave it as tower lose okay i need to open it up file as save as and save the scene as tower lose there we go and then we'll drop that in save and now when i lose it should go to the loose scene say that i lost and then let me jump right back into the game and then when i win it should go into the win scene and tell me that i won and let me go back in so here you lost hit try again it's gonna go back into the game right no yeah maybe yeah there we go we're back in the game we can run we can jump and then if i lose let's just go lose real quick and go find something that can uh defeat me it's a little bit hard to lose at first it takes a second jump jump jump a bunch more oh there we go i crushed myself and lost all right so if i lose there we go go to the you lost scene and go back to try again all right cool so now i've got a good flow i mean assuming that my win one works i guess i should double check my wind flow let's go into the main tower scene the tower jump scene get rid of that search build find tower jump and then we'll move our character up to the top so get zayn and just drag him right up there i think the position for that was like 135 so just gonna type in 135 go to the scene view hit f to zoom in on them oh yeah that was pretty close and maybe a little tiny bit more 135 and a half i hit play and now i just want to make sure that it goes to the win scene so while it goes to the win scene i'll be right back i'm gonna go release a hound all right she's free and it looks like i won and if i play again i should be able to go right back into it and i assume just instantly win let's see i hit play again get to the top of the tower huh i won again all right so i've got i think almost all of my game flow working um i did want to play with audio a little bit and i want to do i think a little bit of instruction right at the beginning just telling them what to do to what to press and what to do at the beginning to get to the top so maybe i'll add in a little dude down here that has a speech bubble that just says something let's find a um speech does it speak s-p-e-a-k so we've got a speak action i think if i just drop this right down in here i can actually add in some text right on top of it let's see how that works so to find the text to say press the button to jump press again to jump in the air i just say press the button to jump kids will figure out to press the button twice um should it repeat i don't know let's just hit play and see i agree unity is definitely great for creating games a little bit of chat about that it is by far the e oh whoops i got my guy way up at the top it's by far the easiest way to make games i've been doing it for a very long time and it used to be so much harder i just wish it was this easy when i was a kid like the one thing that would have been really cool like growing up now when you can actually just get in and make a game and have like a fun playable real game in you know a day or something it was totally unrealistic i used to spend days just trying to figure out how to get a triangle to draw get a cube to show up or anything else and now it's just kind of this automatic make a game you get to work on the game parts instead of the the other stuff all right cool so i've got instructions here maybe i'll do some more speech bubbles um that pop up like hey you reached a checkpoint or this is safe or what i don't know if i necessarily need to let's see if there's anything else where i could use some instruction i'm trying to think is there anything else um i think the bad guys are pretty obvious i do want to shorten that bad guy a little bit so i want to take one of his bricks off maybe not though maybe it's difficult enough and it's just the right difficulty level i can jump up there i can time those jumps ooh almost hit the my head on the bad guy there and we make it to the party okay um what else is there to do i don't even know i think um i want to add in audio i probably don't need a menu button and i want to prevent you from falling off that top left area and then i mean i do want to do some performance stuff but you know i don't think i necessarily want to do too much of that on stream i also want to fix that weird ground issue at the beginning let's see if i can adjust that real quick something going on with that main camera let's find the camera find our normal camera that v cam here and okay it's in there it's really really close so it's clipping through this ground plane is what's happening i'm going to take the game view here take it side by side and i've got this little ground plane that my character is on now hit w and just move it in a little bit you can see there's kind of the edge of the ground now if i want i can just move this camera out a little bit too so that it stops clipping through there take my where's this camera at and go into w mode and just move it back a little bit it'll stop clipping through there so that it's just not showing through that ground and then i could probably pull out the ground just a little bit and have it show a little bit more ground and still have it show the edge there and then if i wanted i could also make this tall but i kind of like the um the darker of your version down there it was supposed to look like it's dirt down below and then a green area for starting the jump and i mean it should probably look like a real tower but i am definitely no artist all right so i think i like that little fix i want to go put in the other fix right here so you can't jump off to the other side maybe what i'll put here is just a bad guy let's do that let's just take one of these guys so i've got an enemy here enemy hazard platform oh and i've got i has a ninja bot dude too that i disabled i don't think i want to re-enable him let's go find the enemy guy this is the whole platform though let's go find another enemy we'll see see the process of putting in an enemy from scratch so we'll go into the scene view we'll go up to the top of the the world or up to the top of the tower where you have to get to and right here if you jump over and jump over this way again i want to kill you so we'll find an enemy and we'll drop them in there we'll go to the minifigs subfolder of the mg lego ninjago add-on subfolder so here's the add-ons lego ninjago prefabs minifigs no not minifigs models and then ninja bots this has a bunch of bad guys and other things let's see what we can find here let's go take a look at the preview and we'll just scroll through maybe i'll just use this guy garmadon he's the main bad guy if you jump into him you lose that seems easy enough nice and simple so we'll take garmadon go select him come on garmadon there we go ninja bot garmadon go into move mode select this guy drag him right over here and then i want to give him a hazard so that he kills people so i think i'll just change one of these bricks to be a hazard brick give it a hazard action and if i remember right that was enough that'll just make it so that you die if you touch him um cool all right we got garment on there we got some bad guys let's set up the party real quick so i wanted to put in a couple more mini-figs to just kind of party with everybody when you get to the end let's put in a just take like the first couple yeah what cole here rotate him make him not a player so we don't auto win just check the untagged option and then um we'll take let's say i don't know who's jacob we'll take jacob turn him around get him in there and then let's get one more let's go with uh kai what the red ninja there we go drop the red ninja in right here so you just kind of you'll run right past him all right let's set these guys to untagged as well kind of make sure they're all untagged or else they'll all set off the win condition and then i think i want to save my scene and play through my game and see if it if it just kind of works might almost be there i mean i still want to add audio i guess a little bit more oh here let's turn on audio oh let's see how it sounds for everybody i'm going to turn on my audio i'm going to unmute and we'll see what it sounds like hopefully i don't hear myself talking as well double check that all right so jump and jumping what is going on there uh that was weird i'm not sure what that is oh it's like shadows on the um no there's something up at the top what is making the the shadows or something's doing something with the lights i don't know what very interesting ah i missed my jump all right come on come on i can make it let's see if we make this jump i got to figure out what's going on with that weird lighting but come on i gotta make this jump okay so jump jump and jump and then slow wait and there we go make it up that is so strange okay so we made it to the party at the top of the tower and we win and then you won all right so let's figure out what's going on with the weird uh light stuff there i i guess they probably would accept the prize and bow towards the sensei i don't know i think it just makes them and i think it makes everybody face the camera as soon as you do that so what's going on with the lights here i'm gonna hit play i'm curious is something spawning some lights at run time and making things weird or what i thought my lighting was all set to baked right now very strange all right if anybody sees what's going on please let me know because i'm missing something something's going on with the um with the light in there what is it why is it or is this just something with the camera settings what did i'm what the heck is that i don't know i'm not sure what i did there something strange is messing up my lighting let me adjust my uh clicked out of play mode i think it might be something with the camera but i don't know why um why it looks like that it looks very strange something strange going on let's see go find my camera yes that is unity carol hello again out there everybody again just thanks again everybody that's here with us live and just joining this is a lot of fun having a lot of people in here get some thoughts oh it could be that i wonder if it's the text the text is one of the few things that we've changed let's um hit play i'm going to turn off the text head and see if it's doing something strange see if that's what's going on if you stay on the ground the camera dips during that period it's like it's real yeah that oh is the camera pulling in oh okay okay okay okay i see what's happening when he changes directions the camera is uh why is the camera switching pulling in when he rotates oh is it because the way that it's set to offset off of him let's find the v cam so we find that normal view v cam right now it's set to be offset at 10 x a 10 off of him oh okay so i need this to be different which one do i want this to be on i think i want to use a track maybe what's happening is it it can't offset based off of him i don't want to use track dolly though that's a little too complicated or more than i need there's um hmm what do i want to use framing transposer so watch the position here if anybody remembers the setting here for this please uh let me know too wait why is it not happening now what the hell now i'm a lot a bit confused let's stop playing oh is it because my offset i re my offset got reset but then why wasn't it i bet that's what it is it's because i'm using the offset here yeah i bet if i set this down to zero it's and the reason for that is because i'm rotating my character around so now it was trying to track but what happens here let me just pause it real quick and explain this to everybody so when i'm here and i have an offset in my it's probably the z because i'm rotated but when i have an offset that's going out this direction it's going to actually look at the position off this direction and i shouldn't have had an offset in one of those directions because when he flips around it's then looking at the offset way over here so it's pulling the camera in closer to get to that same distance from the offset so i actually need to have um whatever my settings were need to be cleared on either the z or the x my guess is it's the z so let's actually just clear out the z resume no it must be the x so we'll change it on the x to a zero and then this was what like a two point something i don't know why i had this at a two point something it'd probably just be a zero yeah that's good so let's stop playing i'm going to reset this i'll just set the tracked y to whatever i'll make it four rounded up a little bit so it's just a little bit uh above and then we'll set these to zero and the reason that the tracked y was at four by the way is just to kind of pull the camera up a little bit above the character's head in fact let's go up to like a six and then let's maximize on play real quick and then play through make sure that it still looks good and everything looks right and then um and then we'll just yeah i guess go from there just checking out chad yeah when something goes wrong delete the camera and read it i have done that more times than i would like to um like to confess all right so now we're not getting that weird camera issue that was strange yeah i thought it was something with the lights but it's just the camera pulling in and moving itself around all right all these bricks build up we got stuff going oh i almost killed myself and crushed myself let's jump jump jump so there was a little bit of mention about adding a timer i thought about doing that but i think i'd rather add in um a character picker that allows you to select if we have enough time to allow you to select your character right at the beginning so you can pick who you're going to run with let me see that because i think that just as silly as it is it'll add more replayability because you can beat it with multiple guys and they could have slightly different settings all right so i make it to the top gameplay works all right let's save do a commit and then let's add in the option for um what was my option for oh selecting a character so i'm going to save my scene off we're going to unity collaborate she's a collab for our source control check all of our changes which is a decent number of things and then we'll put in a commit message so i've got a working gameplay loop and publish once that's done we'll go through and figure out how to do a quick character selection let's do that in the um maybe i'll do that in the menu scene there's already a menu menu lose menu win and menu intro let's see name of your game yeah let's just use this one we'll save the scene as tower intro um yeah i think i'll do it that way so do tower intro we'll give it a name where's the name field here i guess it's under this menu title let's drag this layout down here let's call this ninja tower get to the party gotta climb to the top of the tower and get to the party all right actually it doesn't really fit it kind of shrinks the text down so we'll just leave it as ninja tower for now and then i want to add in a ninja selection so let's find our mini-figs we've got let's see zayn will be one of the options so take zayn i'm just gonna drag him here under my menu i'm gonna reset his transform i'm guessing it's gonna be very difficult to show zayn right here um so i might just show a picture of him i i don't know how well these models are just going to show up in a menu um versus normal stuff a lot of times it's easy to show 3d models in the menu but with the way that these lego dudes are set up i'm not i'm so sure so let's hit f go find them real quick and then we'll try scaling them way up and see if we can see them so we hit e whoosh oh yeah that's right this is a problem you can't scale these dudes they have a scale enforcement thing on them that's locking it down so i don't think i'm going to be able to rescale him so instead i'll just take some quick screenshots we'll make an or actually let's just find a picture of zane there's got to be a billion and a half screenshots of zayn just take one of their their actual images of zayn from maybe from the ninjago wiki current cloak here we go let's just take a a picture of him copy zayn let's do save uh save image as we'll drop this down into our downloads folder and then let's go with at least one more let's add in naya so we got a another one here nya uh ninjago and then find another picture oh here we go these images are all like uh they've got like all the different versions of them interesting where's where's the normal is it this where's her i just want a red ninja she's like a pink ninja right that's just not what she looks like in the game let's see images i'm gonna find one that matches this ninja i guess that's close kind of close yeah this is what this is her let's do a save image as okay i'll put in some images here as temporary ones and then you obviously if you want to put in real cool buttons and stuff you can but i think i need to get some cool screenshots of these dudes actually let's you know let's do that let's make some screenshots let's just instead of making ugly images that don't match i'm just going to take some screenshots we'll turn off gizmos i'm just going to select this dude right here hit print screen and there i've got a zane option let's see if i can just cut this down i'll just trim it so do a little selection got zayn right there and then we'll copy that make a new document paste it in i had a crop in here i never remember how to use this thing using snagit we'll save this as zayn all right we got one image down then let's do the other character so we got zayn and then let's go into naya where you at there we go the exact same thing just unselect so that we don't have it selected click get our screenshot open it up and then we'll just crop this down just like the other one okay there we go got that and then drag this side in i am a terrible terrible artist by the way so if you want to make games just remember you don't necessarily need to be an artist but you should probably find someone who can i usually start with my versions of stuff and then allow other people to make better ones let's do lloyd too i want to get all three of them so we'll have three characters to pick from instead of just two we got three characters here um and we can adjust the settings for them if we want or we can leave them all the same i think i'll start with them the same and then maybe make a make them a slightly different like give one of them a triple jump and give one of them a different speed speed or something like that so you have some variety i got lloyd's image here dragged in let's save this as lloyd lloyd and these are all just in this snagit folder you can see all my thumbnails beautiful screenshots and stuff all right so now i've got my three images let's go find them and open them up i'm going to take these and drag them just into my root let's make a let's call this headshots folder where did my folder go i tried to right click and create a folder but i don't think it created create folder headshots there we go and we'll open up that headshots folder i'm going to take those character headshots that i've got from my snagit folder got my zane my nia and my lloyd and we'll just drag them right in i'm going to make them all into sprites so i can use them on the ui so change it from texture type default to sprite and then hit apply with all three of them set up or all three of them selected so now they're all sprites and then i can go back into my scene go find my menu let's delete zane completely and where we've got the play button let's add a new button above it so i'm going to right click and we'll hit ui and choose button we'll make a button that's oh there you can see the button let's hit escape f we'll go into 2d mode so i can see the button here and actually view it and the first thing i want to do is just change the image i'm going to drag in lloyd as the first sprite and then hit set native size so now i've got a big old fancy sprite of lloyd i'll call this my lloyd button lloyd my lloyd button and i'll just drag it over here now i'm going to duplicate that and we'll make another button for zayn and another one for naya so duplicate it twice ny a button and a zane button drag in the two images so i got zayn here and on i will drag in i will drag these out so that they're next to each other i should probably have transparent backgrounds and have it look right and stuff but um i'm not going to do that right now for now we're just going to assign all three make all three of these buttons make it so that when you click on one of them you get that character and you jump right into the game you don't have to hit play you just literally pick your character and start playing the game so let's resize these buttons a little bit actually let's zoom out what does my game view look like in 1920x1080 ooh atrocious all right let's see it um with these things scaled out so let's adjust this i'm going to make a panel here underneath my menu that will hold all of these as side by side buttons so something that'll be like a horizontal layout panel make a ui and a panel and that's about the position of the panel that i want inside the panel add a horizontal layout group so go add component add a horizontal layout group it'll just put things side by side that are children of it and then i'll take all three of these and make them children of the panel you can see that they got resized or not really resized but realigned to be side by side now i can adjust this panel and just make it stretch to fit my parent and the parent here is probably set to be stretched okay it's set to stretch to fit the entire screen so the goal here or the way that this is set up is that it's just going to fill out whatever screen size i've got and i want to shrink these down a little bit i think what i want to do now is just adjust the size of these i'm going to maybe divide these by two so just do divided by two and right in here divide by 2. shrink them down to quite a bit smaller and then i'm going to change the horizontal layout group and make it center so instead of upper middle actually let's go middle center so that it centers them kind of right there let's go take one more look at this so i've got my characters i've got my game name there i'm gonna take my panel let's move this panel down the top of the panel grab the direct transform tool come on top of the panel grab the tool there we go and drag it down i'm going to turn off that background image and then um what do i want to do with this i mean i i like that i've got my buttons here but i really don't like the way that this looks as soon as i resized it into a side-by-side view one free aspect i was like oh cool i got lots of space there but we're not really necessarily going to be in free aspect i don't really want to make this responsive i want to make this work in 1920 by 1080. so i think what i'm going to do is hide the play button completely i don't need that and i'm going to hide the other menu button and control stuff i'm not really allowing anybody to do anything with controls and i think if it's in a installation or something i don't want people doing controls either and then let's just resize this a little bit more let's allow it to control the child size of the width and the height so that we'll just resize them it's going to kind of scale them a little bit strange but it's going to lock them into the position at least and then we'll um set up the buttons so we've got the buttons here let's give them just the name i think l l o y d we'll change the text color to like a white do i i'm wondering if i even need the text on here i think i'm going to delete it let's go find all of the text and just delete it we could put their names on them if we want but if they're picking the ninja they should just know which ninja they want so they'll pick a ninja and we'll make that just start playing so what does the play button do let's take a look at it it's got a custom button script on it that okay does some extra stuff but essentially it calls load scene um and then what else does it do oh it plays a brick snap sound i don't care too much about that so it plays lo the load scene button dot load scene okay and then it's got a load scene button method on it so we just need to add that onto all of these we could probably just copy this button to be honest and paste it right onto all of those components and then just set up another option on this load scene button so that it loads and sets something so it loads and sets selects a character or something or maybe we'll just add a um select character button too or select character component we'll do that so let's copy component on the load scene button we'll add it to all three of these buttons we'll paste right click and paste component as new now i've got this set up here i want to change it from lego tutorial though to ninja tower it's ninja tower right i can never remember the name of my game power jump tower jump tower jump gotta change that so tower jump all right now i've got my load scene button set up let's get the custom button script copied over so i'll copy my oh do i want to copy this no i'm not going to copy that i don't need the custom colors or anything else instead i'm just going to go to the button we'll take the load scene button call load scene on it there we go it's going to now load our scene when we click the button at least for lloyd let's do it for naya and zayn as well hip plus um we'll select the child that they've got there and then we'll go choose the load scene button and choose load scene all right so now they're all going to load the scene but we also want them to select the character so let's make a script to do a select character we've got the load scene button i'm just going to open up this script and we'll just write in a new thing that's maybe like a select player button or so yeah what's that public class select player button via mono behavior and in here we'll just have a method that selects the player that sets the player as a static thing so say public do we have a one button minifig controllers what our character is one button minifig controller and i hit alt enter we add in the reference the using statement there in fact i could probably just shove this into the unity um namespace yeah let's just do that let's just shove this right into that namespace so go up here add it into the namespace instead so that way i don't need a using statement when i move it out so we've got the one button minifig controller oh one button what's wrong with that let me go find the script here let's find the one button minifig controller this is the script that i want to reference it's in unity.lego.minifig okay so i'm going to move this down yeah i'm going to move this out of there i'm going to move it out of the ui section or the out of that let me see yeah i'm gonna move it out of there and then we'll add in the reference to but i'm not sure why it's missing let's move this to its own file make sure that i'm not playing okay and we've got our player reference here reference why does it want to import the reference to it it already has a reference to that i just want the using statement that's weird maybe it's just bugged out and doesn't know that it has a reference to it no it's just not finding it interesting okay well let's just choose a game object it doesn't matter we'll just use game object and call this selected player i was trying to be specific with the type there but it really doesn't matter and figuring out what's going on there with the assemblies is just not worth our time right now let's make a public method now a public void select player and that's just going to say selected player equals this or let's say underscore player now we don't have an underscore player and our selected player is not static like i wanted so i'm going to make this static we'll make it have a public getter so that it can be read from anywhere and a private setter so we just turned it from a field into a property that can't be accessed or written by anything outside of here but it can be set by things inside of it so it can be set in inside this class and read outside of the class we'll hit alt enter now and generate a serialized field for the player here the player is going to be a game object we're just going to assign the player character and then um do we have anything else select player oh selected there we go i missed the word there the ed so now we've got selected play or select player method we'll set our selected player to this object then we can just read this selected player when we start up our game and spawn them into our game or select them as the active one if they're the active game object all right we'll save this off we'll jump back into unity we'll go find our three buttons here go add that select player button script to it s-e-l-e-c-t player why is it not showing up let's see can i do a build let's make sure i don't have any build errors oh no i have an error here what is it it's probably an extra closing brace or something let's see kd clean up my formatting save do a build i might have just not saved my file too it's very possible that this file just wasn't saved ctrl shift b by the way in writer or visual studio as the default just does build and tells you if there are any errors all right looks like we're good now i should be able to add my select player script let's go drop that on oh hey thanks steven for the uh super chat sorry i just saw this pop up a minute ago i don't know how long ago that was there i had the window up behind something else appreciate it thanks again all right let's jump in um get our button attached now we should have the select player button there we go got that attached now i'm just going to select the different prefabs so for lloyd we'll choose lloyd actually maybe i should do this by name instead of doing it by prefabs that way i could actually separate them out well let's just go find the lloyd prefab for now i'm thinking that maybe i'll just split them out and do it um not using the game object reference but just using the string name but i think i'll probably just extract the string name out of it instead instead of making an extra change that isn't going to make any difference at all all right so we'll take on lloyd we'll drag the lloyd prefab in beautiful we'll find naya do the same drive the naya prefab in and then for zayn we'll drag the zane prefab in all right so now i've got three buttons i should be able to press it select a character and start now it's not going to actually select the character it's just going to start the game with whatever character i've got but it's going to set the selected character so i can now use it i hit the character let's see did it it's loading into my scene okay so yep it loaded my scene but again i got the wrong character i didn't get the one that i actually clicked on so let's make it so our main scene now actually shows that or plays or lets you pick the character that you want um i'm gonna go into our tower our jump and then what we can do is just cheat and just check to see if um that script is set on the character or well let's just write the code i'm going to try to explain it but if i try to explain it it's not going to make sense if i just write the code and show you i think it'll make a lot more sense so let's find zayn and let's add a character um selector script we'll just make a new script here in our scripts folder this would be our second script going to make two different scripts trying to do this without creating any new ones but i guess two it is so called this um character selector whoops i spelled selector wrong let's see if i can hit f2 and rename that and fix it there's no g and selector all right we'll open that up and then make sure that the class itself gets renamed as well yeah it's got a g in here that'll cause all kinds of problems so we've got a character selector script now on this one i just want to implement the on enable so say on enable and first thing we're going to do is check to see if we're a player so we'll say if compare tag to player so if we are a player if we're not a player then i don't want to do this because we've got all those characters up top that are using the same minifig things and if we happen to use one that matches i don't want that thing to get toggled off because it's not a player so if we have that script there or if if we're a player and what we want to do is check to see if our gameobject.name is equal to the character selection or select player button dot selectedplayer.name then um we won't disable ourselves so otherwise we'll disable ourselves so let's say if it's not equal to then we'll say gameobject.setactive false and we'll write out a little entry debug.log disabled and let's pass in our gameobject.name because we disabled ourselves because we weren't selected and we'll say what our selected one was too so selected was and then we'll put in the selected name so say select player button dot game selected player dot name okay i think that's good the one thing i want to check too is that we actually have a selected player so if selected player is null then we want to bail too so so we want to say if it's a player and selected player is not equal to no because if we don't have anything selected we just loaded that singing up we wanted to just start with whatever character was in there that way we don't have to go to the menu scene to debug and test things let's save do another build with ctrl shift b and then we'll hit play one more time and i expect to be able to select architecture oh we're not going to play yet first we're going to assign the script then i expect that we'll be able to do it um somebody's asking what the editor was yes it's a writer jetbrains writer my favorite editor um i think sometime soon during the game dev show we might start giving away a couple free licenses so make sure you're subscribed and pay attention to the show coming up on sunday and we'll see when those start to when those start to happen but they've actually approved to give out a couple of them which is really cool it's again my favorite editor by far i switched to it probably two and a half years ago and i can't imagine switching back it's just i love it it makes things so much easier saves me a lot of time it's very very worthwhile and they got a free trial and they have a bunch of student stuff available too all right let's go select all of my characters kai jacob and cole where's naya where are all these characters let me go find them okay so these are the ones up the top these aren't the characters that i care about let me find the ones that i actually care about let's create a a folder here for the party create an empty folder party characters these are the guys up at the top of the the tower here having the birthday party or whatever it is so woo is definitely in there who else is there let's see got woo we've got jacob we've got cole and then we've got what is this guy kai okay so these guys are the party characters those ones should all not be marked as players if you look at the tags they're all not set to play or they're all untagged and then these are my actual player characters they've got zayn and that's it let's make a couple more so let's go select zayn and first let's add the script to him so i've got the character selector script and then let's create another guy we'll do naya dropper in same position i guess so let's see let's copy it from zayn right click there we go copy component go to naya and paste component i'm going to take garmadon and drag him to the enemies folder too get him out of there and that platform guy get him out of the route and then uh what's this disabled rock okay we'll get rid of that too so there we go zane nya and lloyd all here let's enable lloyd as well okay actually i want them all at lloyd's position so i'm going to copy his position select zane and naya and then paste over the transform paste component values now zane has the character selector i need to add that to lloyd and nia so i'll just select them both and add the character selector script save and then first let's just disable two characters let's disable zane um let's disable zane and lloyd and then let's make sure that nia works because i haven't actually set her up yet so if i hit play right now i expect that she won't disable herself and that she'll just kind of run around with wasd that's kind of what the default should be with this character yep i can wasd and run around and jump so this is another thing too if you wanted to change the controls of this and make it just freeform and that's pretty much all there is right you just do this so let's stop playing now and make it so that she uses the one button mode instead so to do that we'll add the one button on e one button minifig controller and we'll remove the other minifig controller component then i'll save that off now i've got them all in here i'm going to enable all of the characters save and then go to my menu so if i go to that menu scene which i think did i put it in here tower intro there we go i should now be able to press play pick the character that i want and then have it disable the other one so let's start with naya right here in the middle no that didn't quite work i still have a zayn here naya's still there but zayn appeared as well why did zayn show it let's go find him zayn what are you doing zayn's here he's got the character selector script on him the selected character shouldn't have been him so he should have turned himself off let's go check the logs okay there's a lot of crap in the logs here what what is going on here let's hit collapse all right just a bunch of spam errors these are probably from the collaborate window okay we never got the uh the log for the character selector let's see let's hit play i'm gonna unmaximize i'm just gonna try enabling and disabling zane interesting he just turned himself i turn him on and why does he turn himself back off let's let's try this again disable enable we hit a breakpoint just like i expect we should say that we're oh oh selected players no oh okay i know what the problem is so everybody that's watching if you already called it out um thank you but if not the issue is in that menu so i set up the menu set up the intro stuff set up the buttons and i made that new script but you know what i didn't do the one thing that i almost never remember to do assign the stuff so i've got these buttons down here the buttons have an on click and the buttons need to call into their select player and call the method on it so i'm going to select all of these hit plus we'll take the select player drag it up and then find the select player method right here so select player on that script so this is the one that's setting that value in there the problem i was running into is that nothing was getting set as the selected player so it wasn't working all right let's play all right and hit the button all right by the way if you're still watching don't mind hitting the like button thumbs up and all that stuff i appreciate it it does help so please um go tap that all right so she got selected but i don't think i finished setting up her minifig controller let's go do that real quick go back into the scene one more time into our tower jump and we'll go find naya and i think that the issue here is just that we didn't set her up to run by default so let's go do that now let's make her move by default we'll make her move continuously um for the speed let's make her move maybe a little bit faster maybe she'll move it like 12 instead of 10 and then we'll give her a jump when pressed and i think i'm going to give naya two jumps instead of one so since she's already moving a little bit faster which i think is going to make it a little bit more difficult i'll give her an extra jump so she's got an extra jump but maybe i'll reduce the power of her jumps by just a little bit so instead of 20 they'll be like a 17. so you might need a triple jump to make some of the jumps with her but she'll be able to jump higher all right that i think is pretty cool let's save that and then let's go to the lloyd and leloyd i think i'll just make him move a little bit slower so instead of his speed going up by two i'll bring it down by two and then we'll increase his jump height so instead of giving him an extra jump we'll make him move slower and jump higher so lloyd would be kind of i don't know easier to play it'll be a little bit hard and i'm zayn will be in the middle i guess i i don't know how that'll actually play out though i guess we'll see in a second all right so we're in oh i've got all three characters here and i could i mean theoretically i could just jump them all all right now one thing to note i mean obviously i don't want to keep it like this is that look at the character that's being followed no matter what character is on my camera is still set up to follow this guy so i need to do one more change i need to make a script for my camera to make my camera follow the correct character so let's do that now let's make a quick little camera character selection script so it selects the correct character what's the zoom in view the zoom in view is locked this one is the one that i need to change it on so let's make a camera lock or uh let's see lock camera to player script i'm just gonna do that we'll just make a quick script here create c-sharp script lock camera to player and we again there are lots of different ways that we could do this but i think i'm just going to change the follow target and make the follow target be whatever the selected character is i think that'll probably be the easiest way to make this happen so we'll do the same thing we'll just do an on enable let's go find the character selector script here we'll find the on enable just copy that entire method out of it go into our where's my script lock toggle lock camera to player paste over the on enable come on on enable it's paste and then we're going to check we don't want to check to see if this thing is the player what we instead want to do is find the object that matches this selected player's name so we'll see say if selected player button is not equal to null or if the selected player is not equal to null there we go then we'll do a game object dot find uh find objective type just game object game object dot find and i mean if you've seen me type write code before you probably say like you know you always say don't use gameobject.find it's not a good thing to use generally because names change and stuff breaks in this case it doesn't matter this is a game jam project it's something that i'm not going to be updating and renaming these characters i'll never rename a ninjago character they've got their own name so i don't have to worry about it here i'm just going to use find we'll find the object by that selected player name so copy this name here and paste it in let's zoom this in a bit more and make it a lot more obvious what we're doing so we're finding that player say var player equals that and then what we're going to do is set that as our lookout target so let's go find where we set the look at target on our camera i remember right we're going to have to go down a couple levels here or something so let's say oh actually you know what let's do this the other way let's let's do this the um yeah i think i want to do this let me show you how to make it make it work slightly different so that we don't have to change the follow and the look at here of this so we can actually just lock them onto us oh no let's i'm trying i'm like up in the air i think i will just allow us to change it let's drop this lock on script here and we need to change the follow and the look at of the cinema machine virtual camera so let's get that component let's say git component bar vcam equals git component and we want to get a cinemachine virtual camera alt enter and let's see if i can spell it right did i spell it right there we go cinema machine virtual camera got it so we get our v cam and in the v cam we have follow transform and a look at transform i'm just gonna set the follow transform to the player so i said equals player dot transform and then we'll say vcam dot look at equals player dot transform as well now the thing i was considering doing was setting up an object that follows the play around and then you make that the target that's one of the tricks that i've done many times but i think that just showing that you can set the look out and follow here is probably a better way to go and it's a little bit less code a little bit less confusing and still gets the job done just as well let's hit play oh not not in here not in here not in here did i already hit play i want to go back to my main scene i think i did hit play i think it's going to kick off yep it's a little bit delayed not an issue there we go got all my characters yep let's stop playing and jump back to the main menu now and see if i can go with a single character and then we'll do a build publish it up and let everybody else play see what the characters feel like and all that and then maybe over the weekend i'll work on some performance fixes as well all right we'll go into the tower intro i'm gonna hit play and i also need to make it so that when you win or lose you go right back to the scene instead of going back into the uh or maybe i won't maybe my magazines just have to reload to reselect a character i don't know go select naya she's got the triple jump yep she definitely has the triple jump but she doesn't seem to be getting followed why is that let's go find that vcam script so under my cameras i've got that vcamp oh oh what have i done here my vcam has the look at look player script oh okay sorry i left the code that disables the object down below it too so my v cam was turning itself off all right let's stop playing one more time and we'll play again i i literally had my code in there so that it was selecting the character following the right character and then just killing the camera i'm gonna go into my um my menu scenes let's fix this whole game flow real quick i'm gonna go into the route we'll go into the win scene and in the win scene instead of loading into play again we're going to load tower intro so i'm going to copy tower intro onto my clipboard go find the button go find that play button and then we'll paste in tower intro save that and i'm going to do the same thing in tower lose so in tower lose when you lose will go down and let you reselect your character that way you can choose your player and then in the tower intro i think i want to adjust this canvas just a little bit let's go find the title here i'm going to hit f go into 2d mode and i want to drag this up a bit let's move that up here like that and then i'm going to add in another text down below it that just tells them to pick their character or choose your make us like choose your ninja it should probably use a different font or something i don't know save and play all right now we've got a full game loop i think i don't know we'll do a play through real quick if it works then we'll do a a publisher or a publisher everybody else can play it and yes we're still doing the game dev show on sunday there's a question about that that is definitely still in the plans all right so we click the ninja we get in we run around we jump jump jump this is the triple jump ninja go nia ah she's a little bit she's definitely a little bit harder but interesting because the the triple jumping yeah she definitely jumps a lot all right we're almost there i probably should have full screen to the side here let's see let's maximize make it big come on maximize maximize there we go now you guys can see the full screen jump there let's see if i can make it up gotta do triple jumps everywhere to make it up anything oh no okay i don't know if i'm gonna make i'm just gonna lose instead let's go through the lose gameplay because i don't think i'm good enough with her to to make it through all right i died and you lost try again i i probably should get rid of that menu option completely it doesn't do anything and it's got a hot dog there oh try again didn't work that went back in and reloaded let's go back into that scene i must have messed that up so if i save let's go into my lose scene lose button it went to tower intro that's weird why didn't i go to the game let me hit play once let me just click the button oh tower intro could not be loaded oh it's not in my asset bundle okay here's the problem i go to build settings and i look at my scenes and build i've added my win my lose and my jump but i haven't added that intro scene which actually is going to be my beginning scene that's going to be like my first scene so let's hit play now i should be able to jump into it from my lose or my wind scene there we go go select some lloyd and we can jump get over here look at this looking good uh this is not the right character though this is naya i picked the lloyd why do i have naya let's go see if i can figure that out i wonder if it's my button there it's set to naya instead of lloyd i'm going to go die real quick though and just see what happens i just want to make sure that that flow still is good after i die there we go jumped up hit my head and died lost i should go back to the menu weird i went back into the game i wonder if i'm like clicking the button through there or something yeah i probably should show like the selected ninja show some animation or something maybe even just do like a 3d selection scene where you click on a character or something but i just showing those models in a ui what i don't think is the easiest thing or at least there's a little bit more to it because i can't just easily rescale them so i was trying to kind of shortcut it and give us something that we could use um let's go into this tower intro and i want to make sure that my characters are actually set up right my guess is that these buttons are all set up to select naya instead of selecting what i want them to do so let's see we've got lloyd lloyd selects lloyd nia select nia zane select zane so what the heck is going on oh i know what the issue is here the select player call needs to happen probably before the load scene let's move that up i really want that to happen first so i'm going to remove the load scene let's hit plus and let's add in the load scene afterwards so that we actually make sure that we select the player before we load into the scene because i think we might stop calling these events and just not be getting our players selected let's call select player here no not select player load scene load scene button and load scene i mean probably what i could do is just have a load scene with player that does both that way i don't have two events um where's the load scene button it literally just calls a load scene method let's just do that let's go into our character selector here and we not the character selecting the character selection button select player button we'll select the player and then we'll load in the scene name so we'll just add in a field for a scene name all right first of all add the using statement and then we'll add in a scene name i'm going to add an underscore just because my habit is with my serialized fields i put an underscore in front of them and for the name i'm going to default it to tower jump that way i don't have to remember to go in there and fix it in a second when i re-add it on here now i can remove those load scene buttons that i've got because i'm just doing it in my select player and i can let's see this is zayn oh look at that zane was calling naya's script interesting so now zayn is calling zane's button i bet lloyd was doing the same yeah look at that lloyd was calling select player on nia that's the issue he needs to call select players and it's from me batch updating these are batch setting leads so i'm going to choose select player and then i'm going to remove the load button one because again i just removed that component don't need it and then we'll do the same here so we'll remove this call we'll call into select player button and we'll call select player which is going to set our player and load our scene and then we'll remove that button to load save and i think we now have a full working game oh somebody loved vanguard i loved vanguard too did i ever meet brad and equate yes me and brad were very good friends it was really sad when he died i actually used to go play cards at brad's house um almost every friday really missed the dude really cool guy i remember first time i met him was uh playing magic we actually went over there playing with a terrible terrible goblin duck and i was surprised at how nice he was and kicking everybody's butt with a a bunch of power cars and stuff it was a lot of fun though not not the best magic player but a really fun guy a really really nice guy really fun guy to hang out with all right let's see let's jump jump jump jump okay i've got naya here this is the one that i was maybe i want to give her more of her jump power back i don't know i'll leave it as is for now let people play see if i die takes a little while to die there we go i'm dead and i try again go back to the menu i hope nope why is it going back to here i have a feeling it's just caught it's like i'm clicking the button here or something whenever i hit play again all right so i've got my other character so maybe i'll just leave it at reloading the page now to pick a new character um i think for now i'm gonna publish and answer a couple chat questions and we'll just talk chat and get this thing out there so everybody can play it i've got build settings i'm going to go in i'm in a webgl build again if you do this yourself make sure that you go to player settings and then go down to publish settings right here and disable this compression format option if you disable that when you do your webgl build you can just drag it right up into a simmer or itch or something and make a really quick upload and share your game so a couple questions here one was how is this chair treating me um it's okay i actually did a video about it but i ended up not publishing it so this is that razer isker chair i got it because my back was hurting a lot and it's got some really good lumbar support it's um and it's it was designed i guess to to give good lumbar support so it's got really strong support in the back it's like a mechanical thing that pops out and it's pretty cool i i definitely like it a lot more than my old chair but it does have some negatives it has a couple little negatives primarily just the fact that the bottom is so hard that eventually like my butt just gets sore sitting on it it's leather and it's really firm um it has a little bit of giveaway but or leeway but it's it's not the softest thing i'm still considering like i would like to have something that was maybe mesh and lighter but still look nice and comfortable i also tried out a nice massaging acer predator chair which is really cool if you're getting massaged and doing stuff but not the best for when i'm trying to focus and code because unless i'm getting massage it's relatively uncomfortable because there's just no support so i would say that overall i like the razor chair um it's definitely not a like all all in one solution though or like the best thing i've ever sat in like i was kind of hoping i was hoping that it would solve all of my back problems but it did make it i'd say better it's a lot better than the little like 90 gaming chairs that you get but it's probably not at the level of like the super high end chairs that you can get to somewhere kind of like in between and um in between on the price point as well so i mean yeah overall i like it but i'm curious to see what better chairs are out there one day um i'll i'll get approval from the wife to get another chair we'll we'll see something else i'll let you know um build is still going we're almost done let's see if there's anything else and make a video about this yeah uh you know i did i did record it but it just didn't come out right so maybe i'll make another one i found that when i do videos about non-programming stuff and non-game dev stuff though they tend to not be that popular i'm not very good at it though yeah i think that the reason the chairs started getting designed like that were there so there's a question about never understood why the chairs look like race seats i think a lot of it was just um america's aesthetics and stuff it was easy to do and relatively cheap to make a cool looking seat that looked like a race car chair and put it up there and then it's kind of like a race to the bottom on who can make the cheapest one but i don't find them extremely comfortable either i actually find the chairs or the seats in the car tend to be more comfortable than the these seats i wouldn't mind having like a nice uh a nice cozy car seat yeah think of like some of the comfortable car seats anyway i also have this is a standing desk so i stand up on it on occasion we're almost done with this build and then we should be able to publish it out and let everybody give it a play i want to pull up the simmer page real quick and show everybody how you upload it in here so i've already uploaded my game you can see i'm in edit mode now and if i go down below there's actually an option to upload a new version i'm going to hit that hit upload new version and as soon as it finishes all i need to do is take my builds folder the one that i selected when i hit build and run and drag it right up to here and it's just gonna take like 10 seconds and magically work and you'll all be able to play it all right look at that got my test build up it pops up in edge it's like the one thing that actually opens up an edge i'm going to choose lloyd oh we got an error that's an issue oh that's that's not normal huh let's try reloading it i don't know what that was i wonder if it's something with the the scene loading memory out of bounds huh very strange i don't know why that's happening uh let's try this in um i'm going to try uploading it to simmer see if it works on chrome in there and then if not we'll just go straight into a gameplay scene with one of the characters and we'll use that as a start and then i'll debug that stuff later offline so you guys don't have to figure out what's going on with that loading issue there all right so i've got my ninja tower folder here's that actual folder for anybody let's see i got the build folder i'm just going to drag it up here and then we will um wait some oh there's a mention of thinking it said you have to use some unity play service or something i'm not sure what i need to look through the requirements i guess before i go through the submission process and all that you go through the requirements and make sure that everything is um is up to date in matches or they are meeting with all of the requirements all right so it's uploaded just did the update let's see if it actually plays or if it's going to give that same error play and we'll choose zayn is it loading or erroring it stops spinning in the background i bet you anything this has to do with just my sheer number of towers on there it's just those giant tower blocks stacking up probably causing some loading issue interesting all right so i'll debug that later so you guys don't have to worry about it and then i'll instead just go into the tower jump scene and we'll just make um i'm gonna make zayn the main character for now since he's the one that i was planning on using later i think i'll just make him the primary one i'll disable the other two characters and then we'll just do a build with it like this so save we'll do one more build and run with just the jump scene as the default oh but then it's going to try to go into win and lose let's go into the game manager and when you win or lose we're just going to reload into the tower jump scene so that way you don't have to sit there and wait um and we'll reload on lose in like a half a second and then on when yeah we'll let you party for five seconds let's just do a build and run push this up and then figure out that scene workflow stuff later and then again i think i'll do a video on this go through the whole process break down um some of the steps and some of the interesting things so if you're interested in seeing that make sure that you're subscribed as well get a notification about it as soon as it comes out this build's going to take probably another three minutes or so check chat again see if there's anything else going on in here so let's see you know how to link multiple skinned mesh renderers just one skin renderer um that's not the easiest thing to explain in here good question about making character select one button okay what was that question about making the character select one button let me scroll up a little bit did i miss it yeah so oh i see your point so the question is because the character selection is actually touch screen it's not one button you can't actually just have like a big button and press it that's a very good point that's something that i need to address um wonder what i could do for that you know what i could do now that i'm thinking about it that could be really fun and interesting is down at the bottom have it so that on the end of each one of the things is another character and if you run if your guy gets all the way to the end they swap with it or something or maybe part way up you just swap your character or something i don't know i'll figure it out i'm not too worried about it for now let's see what else we've got in here oh set zane to be the camera guy i think that's going to happen on um matically right because the script is there no it's not it's not going to happen automatically thank you i just think thank you for calling that out let's cancel the build real quick and go make sure that he's actually set up as the default because otherwise he's not gonna um yeah he's not gonna show up or it's the camera's not gonna follow him around that would definitely be a problem oh somebody just got their air on from herman miller nearly 10 years best decision ever made i've heard nothing but good stuff about those i mean herman miller chairs in general are just super popular everybody seems to love them i don't know anybody that's bought one and didn't like it um did you work with sean lord a game designer on eq one um i don't think i ever directly worked with him no good question though it might have i mean my memory is so i'm getting so old now i barely remember stuff but i didn't work on eq one very much myself i got to work on eq two a bit and vanguard a lot eq one was just light very little bit of stuff that i got to help contribute with her not really anything significant at all um anyone know how to make a frame c sharp i'm not sure what that means going through here you make a timer oh and then select with a button so that is an option just picking and uh going through like go over the characters and you hit the button to stop on the one that you want i think that that's probably what i would do i think i can't cancel my build it's just gonna finish hopefully it's on the right character if it's not which it probably isn't it's probably set to naya right now um we'll just be screwed and have to do one more build and the stream will run a few minutes late it'll be fine let's see did the build finish oh don't tell me it cancels it went through all that waited and waited and waited and then canceled and zayn was the character oh goodness that's horrible i should have never hit the cancel button i should just let it finish my fault all right let's go in let's just double check that that actually happened i'm going to open up my build oh yeah my bill just gave me an error i'm going to go to the build settings i'm actually going to just remove these other scenes completely for now go to my tower jump scene let's just triple check it it's set to follow zane the manager is set to reload the tower jump scene i'm going to save do one more build and i'm just removing the other scenes just to see if that helps me speed things up just to tell you a little bit strip stuff out and shrink this build and it won't have to have those images and won't have to have all the menu stuff in there all right let's see what else we've got yeah so if we do like a dynamic switching or something we'd have to switch camera following or something we built a slightly better camera system i don't know maybe next week i'll just um keep making this thing and make it even cooler i'm not really sure kind of up in the air on that oh don't worry about the cancel it's all good it happens all the time and gotta wait for builds and gives us time to talk and stuff doesn't cash a bunch of stuff yes that's true so since i haven't made any changes except for build settings it's probably going to be a really quick build if i had changed one of my scenes or scripts or something it'd probably take a little while but my guess is it's going to be pretty fast then we'll upload it there we go please don't give me an error please no error please no error no errors no errors no errors oh we got an error i don't know why we got an error but let's just copy it let's try this in a chrome maybe it works fine in chrome and not in a an edge memory out of bounds interesting i don't know why it's doing that but i'm going to try uploading it to simmer and see if it works so edit and we're gonna go upload a new version go to continue and then let's go find that builds folder i'll just drag the builds folder on top of it and then we'll see if it works when it's hosted this is really strange all right so we'll do the update and yeah michael's mentioning in uh in chat that like these builds they don't bother me at all personally because like i said i'm so used to builds just taking forever back in i mean when i started doing game development builds are like a minimum of like a half hour usually like an hour or so um why did that not work that is strange it's like it didn't take my um my newest version of the code i it does didn't even get rid of my scene that is very very very weird like my build didn't work right okay let's jump back over to unity i've got my builds i'm going to delete out my entire builds folder so i got this builds folder i'm just going to wipe it completely i'm going to make sure that everything is set up here i'm going to hit play real quick too make sure the game works tower jump is set right tower jump is still what i've got i didn't set anything to intro right maybe i'm an idiot and i just dragged a tower intro in there nope it's tower jump game seems to work let's see it looks like it works it's a little bit offset on the camera but i can deal with that okay so that's oh good let's try one more build we will get this working i think i'm not 100 i was going to say i promise but i don't want to lie to you i'm not 100 sure uh we'll make a builds folder here new folder builds i wonder if it was just like being held on to buy something and it wasn't getting rebuilt i don't know what's going on all right let's see what do we got in chat here have you had enough memory oh so one issue could definitely be that since i swapped to this new system let's let's pull up my task manager since i swapped to this new system when my old one died i have not put more memory in and we are very very very low on ram i've got yeah pretty much nothing available and it's it's all eaten up so that definitely is probably part of the problem the fact that i'm just out of ram but i still shouldn't see that on anything like i don't want to see that error popping up for anybody even if they're low on memory so it's something i'll need to address um have you seen my question about imposter syndrome i did not see it but if you want to post it again i would gladly read it and answer the question or maybe try to answer it at least let's see anything else in chat oh each character with a timer yeah okay that's it play yeah and the crashing and the breaking and stuff could just be totally memory related oh i wonder what that is too stack allocator. i mean normally when i see the warnings and errors down there and i haven't done much it's because there's something going on with the unity editor version but actually i'm in an lts so i shouldn't really be expecting to see those kind of surprise there any errors i should probably check and see what they are maybe there's something related to the uh the lego kit or my misuse and abuse of the lego kid or something would not surprise me in the slice watching my uh my memory usage disappear my available ram disappear quickly too let's see if i can close a bunch of extra chrome tabs and stuff maybe that'll help let's close out as much extra junk as we can so i've got a couple chrome tabs down there we've got edge open we'll close that snag it open we can close that can't close writer we can't close any other unity instances and i don't know why nvidia control panel's down there all right any second now our build should finish and we'll put this thing up all right so let's see what the questions were can you give me some advice i have strong imposter syndrome sometimes my experience is something around 10 years in game dev but sometimes i feel like not good enough for a senior or lead position okay um so there are a couple of things going on there first off is that i have never met anybody who was programmer that didn't have some sort of imposter syndrome along the way um in fact it's very rare that i meet anybody that still doesn't kind of suffer from that no matter where they're at in their career even starting out people feel like they they're not qualified enough to do the junior stuff people going through and doing the more advanced stuff feel like they're not really qualified to do that i think that it's it's probably i mean i don't know enough about human psychology to really understand why it happens but my guess is that it just comes from not having done the things very much i feel that i seem at least to me it seems that as you do things more as you get in and just do the actual job of doing the leading if you're doing the lead part or doing the senior job you'll start to i guess shed a little bit of that but to be honest it's never really completely gone away for anybody that i know and i think that you just have to kind of push through it what the hell is going on see now i'm getting it with these build errors my build is not working i'm getting an out of memory error and i don't understand why i don't know what the heck is going on what's happening oh man okay so here let's close this window i'm going to take a look at those logs now there's a mention of hey you should look at the logs and you're probably right there's probably something going on in here that i should take a peek at so our build finished um nothing very useful there let's hit clear and play see if anything shows up oh a couple hours that's an a small issue let's see if anything else shows up after this very weird what is with all of these allocations i'm going to close the unity editor real quick reopen it and see if those go away normally those type of errors disappear and i want to see if anything else reappears or if those just reappear as well so i'm going to open up unity we'll open up our ninja tower project and then we'll take a peek yeah i might need to maybe just kill other things maybe it is just a i'm out of memory issue but i feel like there's something else going on too because it was working a minute ago and then it just kind of stopped you know like everything was good and then it just kind of quit working when i added something and i'm not sure what it is that i added that seems to have messed it up or killed the game let's see we'll play again yeah and i definitely agree if you're thinking about making something for this kit you should or for this competition to definitely jump in on it and just submit something make a little game have a little bit of fun with it and then put it in there it's the best thing you can do there's no reason not to unless you just i guess maybe don't have time but outside of that i would say just build something submit it and you never know what happens you you lose everything that you don't try and don't enter so may as well enter and see maybe you win maybe just have fun and uh make some new contacts have some fun and build something cool or have something cool to show off as a portfolio piece i'm gonna stop playing look at that log see if the errors are still there okay no errors at all everything looks good i'm now going to let's see i've got zayn here only zane i've only got my game manager i've got the hud here i'm going to disable the hud i kind of wanted to disable oh yeah i'm going to disable the hud too so all i have is the um the objective manager i need the manager i don't necessarily need the text part i'm going to save i'm going to do one final build and run and please pray that this works if it doesn't work then i don't know what i'll do maybe i'll do another build over the weekend and i'll email everybody and send it out to you or just keep an eye on the page let's go to build settings got our tower jump scene here it's added in it's the only scene [Music] um let me go find that camera script real quick though the camera script i don't need i'm going to leave it locked on zane where's the script lock player let's remove that completely don't need it there and let's do a build we want to make sure that that's not switching it off of him and then causing some exception or something and i believe the um so this unity game jam with lego is going on until the fifth of november so the fifth of next month you've got a bit of time to just go in and submit it or build your game and submit it but i think that generally what i would recommend and what unity and probably everybody would recommend is that you build it and submit it as quick as possible don't wait around because if you run into issues you get weird performance things like i'm having right now or you do a build and suddenly the game just doesn't work or if they need to make some changes or they recommend some changes you want to have some time to do that so getting out get in on it as quick as possible and just get submitted i plan on hopefully finishing and submitting this weekend unless you know things blow up like this maybe i'll i'll spend a little bit more time and maybe work on it a little bit more next week depending please no error please no error cringing in fear ah okay we're still getting the the problem i don't know what it is i'm gonna upload it to simmer and then if anybody can play it you can play it cool if it works if not then i'll fix it and figure out over the weekend i want to see if it's actually an issue for me only or if it's an issue for everybody that the web version is just not playable the web version was playable just a little while ago and then it stopped so let's go check it out we'll go do a quick upload so i'm going to go to my simmer.io page we'll go upload a new version and i'll hit continue go find my build in that builds folder ninjago builds folder here it is my ninja tower folder drag that over snap it on let it upload and then go check out this page right here the um the simmer i o page and let me know if you can play it or if it just bugs out i'm kind of curious let's do an update my guess is it's going to load fine in here and then give me an error anyway i don't know just making me sad that it stopped working when everything was fine oh there we go what is going on here how am i getting back to this this doesn't make any sense okay let's upload it as a new game let's try that we'll make this ninja tower three maybe maybe simmers just bugging out i bet that's what's going on oh unity is listing off the prize carroll community is showing sharing the prizes now for the game jam so if you're interested check out the chat a chance to win or yeah you can have a chance to have your game playable in the lego stores do this as ninja tower three a one year unity pro subscription which is like what fifteen hundred dollars or something definitely worth it um okay so my game is not working that's what's going on so simmer's just not taking the new version of it because it's erroring out i bet okay well i will have to figure out why my game is broken for web builds only and it works totally fine in uh windows there's nothing special nothing has really changed here except for oh i added this game a manager script too maybe it's something on here that's causing a weird brick collider combiner i wonder if this these scripts are let me hit play i'm really really curious now if these are causing the issue because they're trying to optimize performance and then breaking something i'm going to hit play and go into the profiler i want to take a quick look at it go to window and analysis and profiler and i just want to look at the cpu usage here yeah and it is way way way way way down so that's what's happening that's probably why my thing was unoptimized so much before is because it didn't have these combiner strips in there they're probably speeding things up but i bet that these are blowing stuff up right at the beginning here actually let's move this out of the way i'm going to hit play and i'm just going to watch these i bet that it's like some huge amount of stuff and it's probably trying to do too much optimization and blowing up in the browser before it's able to finish if that's the case then yeah i mean it's got 50 things in there that it's trying to combine what are these let's go find them all oh yeah see it's combining it all that what is this doing okay so here's what i'm going to do i'm going to remove those components i'm going to do one more build i know it's going a little bit longer than i thought but i want to verify that i'm not crazy and that the issue isn't something that i changed is something that i added that would make a lot of sense so i'm going to remove these two components i can leave the input manager that's fine leave the objective manager leave the co routine the brick exploder just plays audio when things explode i think i'll just remove that temporarily too just in case it's doing something else weird save and we're gonna do another build all right and while we finish up this build go through chat and just kind of start to maybe wrap things up and once we've gotten it playable so what else do they get you get some sweet lego sets and 200 of asset store credit for each gpunder okay cool so i guess those are the main winners getting the main subscription and then or no grand prize winner sorry those are the grand prize winners gp yeah okay and then some sweet lego sets that's cool start handing out some cool lego says i assume some ninjago went lego sets and then runners up get some lego sets too cool let's go i was actually trying to find some ninjago lego sets that were unopened around here but i realized that they're just a star wars sets now lots of star wars legos and uh not enough ninjago stuff i guess all right couldn't play ninja 2 but enjoyed 10 minutes got up to 137 okay let's see does it work please play ah there we go so that was the issue it is the combining and that optimization so here's what we'll do um i think i'm just gonna upload i'm not gonna go through and put in the menu scene again yet we'll just upload it make it playable so that everybody watching can play and then in the video we'll we'll talk more about it maybe make a another version that everybody can go through and play when i do the submission myself so let's go find the simmer page simmer dot io there we go i'm going to go back to ninja tower 2. go to edit mode and then scroll down upload a new version hit continue go find that builds folder again in my ninja folder oh i thought i hit upload delete upload there we go that's the old version the upload that didn't work i'll take that builds folder drop it in so fast and so easy i remember when this used to be hard and somebody asked if i use version control mr bubbles did specifically yes this stuff is all in collaborate i've been committing pretty much at the end of the day every time i finish up a section been doing a commit all right there we go let's do an update so everybody can play and you can all play as zane and see if you can win the game do an update real quick here's the direct link i'm going to drop it right into chat too so everybody else watching can try it yeah i think if i replace the uh i think if i allow it to do the combine on the blocks that'll fix it too oh wait why did that that's weird it didn't take my new version my new upload okay let's do let's try re-uploading it again i'm gonna upload upload a new version hit continue we'll drag in our new build and then this should have the playable version i maybe i just missed misclicked or something and we'll update the game um there's a question about the monitor that i'm using it's the lg 49-inch ultra wide it's like super huge resolution it's a 52 something by 1920 so it ends up being really white oh i didn't hit save there we go and view content there now you guys should be able to play it so it's super wide it was essentially a okay that didn't work at all let's just upload a new version this is gonna be ninja game four and then i'm gonna email rocco and tell them that uploading new versions is failing for me for some reason either that or i'm just uploading the same old version let me open up my index file oh now it doesn't open what is going on where did i build to maybe i built to a different folder and i'm just crazy no it works okay let's call this zane tower so the new game name is zane tower we'll save it and upload it and then i'll drop that link in chat if it loads for me so yeah the big monitor is really handy for game development i used to use triple monitors to have 320 or 330 inch screens but i found that having one big one without bezels makes me use the monitor a lot more when i had triple monitors i'd always have one off to the side that didn't do anything another one that was kind of like a waste of space and then the primary one now i just have one big primary one to move things around i love it it's it's by far one of the best upgrades that i've made to my systems um probably outside of an ssd the ultra wide screen is one of my favorite things not the best for playing all games though alright so zane should be able to play now make it up the tower performance is medium it's not the best but it's not unplayable and i think that once i get that optimization part working it'll be quite a bit better let's make it to the end of the level though see if i can actually win and then we'll start wrapping it up all right jump jump jump jump jump make it over here make another jump double jump double jump double jump double jump with a delay and then jump and jump and jump and jump and jump we're almost there don't want to jump too high and we made it to the party woohoo and then the game restarts i feel like it could use a better background or something but overall uh game flow is working and i am very happy with it so i'm going to switch over to the camera view for just a second um answer any other quick questions and then say goodbye to everybody let's switch uh yoda's light over there from red should be in green mode yoda didn't need a red light next to him all right so um i guess real quick just wanted to say thanks again everybody that's been out here just joining and watching these streams live appreciate it i hope you've been having fun with it make sure you hit the like button subscribe and share the stuff check out all of the links down below and if you have questions just drop them in the comments or um shoot me an email i try to answer as much as possible in the comments and then every email it just takes me a little while sometimes to catch up to them but if you got any questions or any cool ideas stuff that you want to see in the future just drop a comment down below let me know and um if you like the game have some cool ideas for the game one see some stuff added on to it maybe next week i'll add some things i guess if this video super popular has a ton of comments and everybody's like hey go add this feature and this feature and that feature to it then i will keep building it out next week if nobody cares then i'll continue on and we'll do some other videos and do some other things that people are interested in got a couple cool video ideas planned out that i want to shoot this weekend and probably get out over the next week or so so make sure you're subscribed to get alerted for those hit the little bell thingy and all that and if you want to play the game oh here's the link one more time i dropped it up above it's just on simmer dot io zane tower and over the weekend i'll make the version where you can select multiple characters get that video up and allow you to play that as well thanks again um unity for sponsoring this event not the video but the event they're doing this whole big game jam event and lego ninjago team it's freaking awesome it's really cool and whoever made the kit the micro game kit and the net lego ninjago stuff in there i'm not sure who exactly built it but whoever you are thank you it's pretty awesome it's really cool a lot of fun to play with i've been having a blast with it and i'm sure a lot of other people are as well all right thanks again everybody for joining me i'm gonna shut up now take a drink go get some lunch and then get on to i guess back to recording more youtube videos and of course stuff and all that stuff all right thanks again everyone see you all soon oh and like a unity said smash like and subscribe i totally agree all right goodbye everybody you
Info
Channel: Jason Weimann
Views: 9,041
Rating: undefined out of 5
Keywords: unity3d, unity, lego, lego ninjago, gamedev, game developmen, #unity3d, game dev, unity3d college, brackeys, unity3d 2020, jason weimann, unity game dev, microgame, tutorial, beginner, unity tutorial, how to make a character controller unity3d, character movement in unity3d, unity beginner tutorial, c#, game development, unity 3d, game development for beginners, unity technologies, game development unity, unity game devlog, coding, game, games, unity tutorials, learn unity
Id: zISgQJlA9Rc
Channel Id: undefined
Length: 144min 35sec (8675 seconds)
Published: Fri Oct 15 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.