I MADE & RELEASED a game in 60 minutes

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey guys how's it going my name is thomas brush and i make indie games for a living today we're going to jump inside of unity and we're going to make a pong game this is going to be a cool pong game because it's going to be a mix between 3d and 2d all right guys i've already imported a shader called toonie colors pro and i've also gone ahead and just created some very simple shapes that i'm going to be using for this game okay the first thing i want to do is create a paddle that follows along the bottom of the screen or the top of the screen okay so i'm going to go ahead and create a new c-sharp script i'm going to call this player i'm going to make sure it's in the root here come on time's a ticking time's a ticking i'm going to double click on that and open up visual studio here all right let's go ahead and figure out a way to make it track with um the bottom or the top of the frame well i'm actually going to use raycasting to do that so the first thing i want to do is actually have the player rotate and follow the mouse while also drawing a raycast so let's jump into our browser here and let's go ahead and google search let's type in sprite mouse uh actually let's do sprite rotate with mouse how's that ah there we go okay looks like we got a c-sharp script here great that should do just fine for us let's just paste that in here and i know i'm gonna use two cameras so i'm actually gonna create a new public camera and i'm gonna call this 2d camera for now uh actually camera 2d that should do just fine let's copy that and let's just paste that here just just in case or just because we know that in the future we're going to be using two cameras so this is going to make our player rotate with the mouse okay let's go ahead and test that out let's go into unity here let's create a new player actually let's go ahead and yeah let's just drag in how about just this square particle here let's make sure or actually let's just drag in the paddle here and just use it so this is our paddle and i'm going to go ahead and create a new empty child actually let's move the child above it and then move the paddle into the child here or into the what what the heck am i talking about okay let's call this player here and this is going to be called graphic for now this is just for us to make sure that the rotation is occurring let's shift it over just a little bit here and then go ahead and drag our player script in and also just drag that camera in and this is going to be our 2d camera and hey let's go ahead and make sure that it's not set to perspective but orthographic and let's hit play here okay good it's rotating with the mouse perfect let's go ahead and draw a raycast out of the player here so let's go to google here and type in draw raycast 2d and see if we can find anything let's just go to unity's documentation here and actually let's go ahead and type in raycast hit 2d that's what we want and by the way if you guys are wondering why i'm actually searching on the documentation that's because i am a and i never ever remember scripts and i've been making games for 10 years and i still do this okay so let's go ahead and let's take this here copy it and go into visual studio here there we go and i know for certain let's see here i want it to come out of this object and i also want it to go to the right transform.right and i also want it to go at 20 units and then i also want it to be a layer mask let's do layer mask let's call it layer mask floor and i will explain this in just a second here guys let's go ahead and create that layer mask public layer mask what a layer mask is going gonna allow us to do is have this raycast only check for the floor and the ceiling okay and also i want to be able to debug that raycast as well so let's type in debug raycast 2d there we go and yep right there let's just put this right below okay so it's going to be right here debug.drawrate and it's going to be transform.position transform.right and the weird thing about debug is you have to put the length right here not here it's weird i don't know um that looks good and also i know that i'm going to be doing another one as well actually let's not do that just yet let's just save that out and now the ray will be cast from the right of the player here and i know that i don't need this graphic anymore that was just there to make sure we're rotating let's go ahead and hit play and make sure we're drawing array awesome we're drawing array so what is this ray for this ray is going to allow us to check and see if we're hitting what we're going to be calling the frame here before we talk about that guys i just want to let you know that because of black friday fulltimegamedev.com is 40 off guys there's like 130 coupons left to get that discount so if you're interested click below and guys fulltimegamedev.com is going to teach you everything you need to know about creating and launching your game from c-sharp and illustration and unity to getting funded on kickstarter or finding funding from publishers and ultimately launching your game on the steam front page i'm going to tell you everything i've learned in the last decade of becoming and maintaining a full-time game dev career guys we have over 800 students and they all hang out on the discord server and we talk about our games and what we're learning and how we're becoming full-time game developers if you're interested click below and use that coupon so here's the frame we can scale it down here to you can see right there so this frame is just a sprite that i created in photoshop but i'm going to use a polygon collider and it's going to go ahead and create a collider around this frame and then we don't need the sprite render anymore so now we have this frame that can check and see if we're actually hitting the frame with the raycast well i don't want to explain too much here because the time is a ticking but i'm going to just check for ceilings and floors okay so something like that okay now let's go ahead and make sure that it's debug.logging for us in the console okay it is not why is that because we haven't set the layer mask okay so let's go ahead and set the layer mask floor to uh i have two layer masks here i have a floor and then walls so let's do floor and then this is going to be called frame frame floor okay and let's make sure we set that layer to floor okay so now good okay it's hitting the floor that's perfect and why don't we just go ahead and create another raycast for the walls okay so this is going to be layer mask walls okay and it's going to be called called hit walls and it's going to be called hit floor just for clarity here and make sure we change this to hit.floor or hit floor i mean change the name here and then same here as well hit walls there we go okay and let's make sure we create that layer mask here up here copy that paste it guys if you don't declare your variables um you can't use them right let's jump back into unity here and make sure we set looks like we have an error here hit walls does not exist yes it does it absolutely does it's right there what is going on oh looks like i spelled it wrong forgot capital w that's okay let's jump back into unity here and what we're gonna do is go to our player here and we're gonna make sure we set layer mask walls to walls save that out and then create another one copy and paste it and we're gonna scale it down to about here and then there we go and it's gonna be called frame walls what does this mean guys it means that the player can raycast and check the walls and the ceilings but it's going to be independent i'm going to tell you why in just a sec let's hit play here and double check there we go good all right it works let's go ahead and create a paddle okay so there's our paddle we're going to drag this down to the bottom of the screen just like this it's going to be called paddle floor and then we're going to create another one that's going to be called paddle walls okay this is going to be 90 degrees and i'm going to move it over to about right here and i'm going to disable this just for now okay let's just worry about the paddle for our floor okay this paddle needs to follow the floor and the ceiling depending on where my mouse is okay so here's what we're gonna do well my brain my brain's about to fart i can't i can't think okay here's what we're gonna do if um hit floor dot point is smaller than zero well let's go ahead and set the the uh paddle floor is that what it's called paddle floor yep paddle floor let's go ahead and create a new game object really quick game or it's public game object paddle floor and then let's go ahead and create a paddle wall as well there we go save it out okay so if paddle floor or if the point is smaller than zero then we want it to snap to the bottom so paddle floor.transform.position [Music] equals new vector3 and this is going to be x hitfloor.x that's fine and then i know let's see here if i it's gonna be okay negative 4.8 or so yeah negative 4.8 i was just looking at the transform values there guys um that's fine looks like we have an issue here hit floor dot point ah yes dot y okay else we're just gonna have it snap to the ceiling okay there we go and positive 4.8 save that out and make sure that it works have we identified what the paddle floor is we have not there it is and also paddle walls let's drag that over there as well just because and then let's hit play here and make sure that it's actually dragging along the bottom and the top perfect look at that it's snapping see that now let's go ahead and do it with the walls okay so copy this i know this is ugly code but hey it works we've got very little time here so this is going to be hit walls if the collider is not null and the hit walls point dot x is smaller than zero we're going to flip these okay this is going to be something like let's see here let's go ahead and go to our walls paddle here here and let's see here yeah it looks like it's going to be something like negative 7.85 okay so there we go and then paste there we go there we go look at that look at that that looks awesome okay so let's just copy this and then paste it and then it's gonna be positive okay so what did i just do here guys i basically created a snake well that doesn't work why doesn't it work we've got ourselves a problem houston oh no we've got ourselves a problem we're gonna use our brains here everything's gonna be okay ah yeah hit walls gotta make sure we put that there okay save that out and this is gonna be paddle walls anytime you're copying and pasting stuff guys you can definitely uh it's paddle walls anytime you're copying pasting and rushing you're definitely gonna get confused by your words guys once i get this little snake created oh man it's gonna be so much fun okay it looks like it still doesn't work why is that um let's see here let's make sure everything is set up properly ah yes paddle frame walls we need to set the layer mask that's what we did okay awesome the snake works okay so we need to move over our frame walls a little bit so scale that over just a little bit okay no that's not the problem that's not the problem what's the problem the problem is that this little friend here we got the wrong number so it needs to be something like negative 8.83 ah yes so let's do negative 8.83 obviously guys you would do this in a little bit more strategic way but because the clock is ticking we're gonna just type that in and hit play okey dokey oh look at that snake mmm that's a beautiful snake look at that so you can see what's going on over here guys it's a little bit different than what's going on on my screen it looks like it's a snake huh that's really really cool so let's go ahead and shift the paddle floor number just a little bit down there we go um let's do negative five i think that's fine negative five and i think that looks good okay what's next let's create the ball let's go ahead and drag our ball into the scene here i don't like how big that is let's do point four there we go save that out and then guys this ball it definitely needs a polygon collider on it and hey just for safety uh let's add that rigid body 2d set it to kinematic guys save that out and for the paddle floor and walls we're going to create a polygon collider and it's going to just simply add a collider in the shape of the panel and then also let's just set it to is trigger is true and then we're also going to just give it a rigid body 2d but make sure you set it to kinematic or else it'll fall right say that out hit play okay so it looks like the snake is a little bit too snug at the top there so i'm going to fix that it's going to be negative 4.9 okay sorry i know i'm being really precise here okay that's annoying but whatever okay that looks good so why did i just create the polygon colliders well because we want our ball to move so let's go ahead and create a new c sharp script we're going to call this ball this ball is going to move and it's going to be able to hit the paddles right so let's go ahead and jump over to brave here and go to on collision trigger 2d unity make sure you type in 2d there we go that looks great i'm going to copy this right here take that jump back into our visual studio here and so far let's just double check here um i know this is going to work so let's go ahead and just type in i'm fine with it telling us what the actual object's name is when it actually triggers into it but we're going to go ahead and type in if call.gameobject.name equals whatever the paddle is let's see here what's the paddle's name it's paddle floor guys if it hits the floor what do we want to happen we want the velocity to adjust well there is no velocity yet so i need to do that really quick so if the paddle is floor or if the collision object is floor if it's the wall let's see here double check is that the name walls that's what it's called paddle walls man i need to be better with my syntax or my naming conventions okay so we've got our collision set up but nothing's happening why because the ball isn't actually moving so let's do transform dot position dot or plus equals new vector two all right let's do let's do a three new vector three and we're gonna do speed dot x and then speed dot y we're gonna multiply times the time dot delta time we're gonna multiply that times a speed multiplier and we're gonna go up to the top here and we're gonna go ahead and create a new or a public vector 2 and this is going to be speed and then we're also going to create a public float speed multiplier this is going to increase as we play the game right let's set that to a default of 1. looking good looking good we've got an issue here what is it operator and can't be applied ah thomas there we go so far so good let's jump back into unity here and we're gonna double check and make sure that come on come on come on come on come on clock is ticking what's going on okay we're gonna make sure that we set our ball script onto the actual ball here looking good looking good and it looks like our speed we can set it to 0.5 and then 0.5 that means it will start at an angle let's hit play and make sure it's working there it goes looks good so let's go ahead and set this speed multiplier so i got the hiccup speed multiplier to 3 and that way we can double check here come on burn okay nothing happened that's okay so let's just double check here i obviously want to remove our debug.log here cause i don't want that okay that was actually causing some problems now let's go back to our ball here and i hope this works man i really really hope this works let's go ahead and hit play again and make sure we're getting a debug.log if we're getting a debug.log our collision works if it works then we can actually start reversing the speed of the ball come on come on come on good okay hit the paddle floor what do we want to happen when it hits the paddle floor we definitely want the speed to flip which speed the y speed not the xb the y speed see that oh that looks great and then what we're going to do is do the same with the [Music] x there we go how are we doing on time how we doing on time okay um jump back into unity here and let's make sure it works i'm gonna set the speed to something a little bit higher so five just so we don't waste time testing here oh yeah oh yeah that looks good okay what do we want to happen when it hits right what do we want to happen when it hits well i know that i want to play a sound right so let's go ahead and create a new void um hit effect this is going to be just a quick function we're going to create audio source dot play one shot is going to be hit sound okay now i kind of want the audio app that needs to be actually declared up here so let's go ahead and create a public audio source what this is going to do is allow us to choose an audio source in the inspector that we can play through okay so let's make this lower case a audio source play hit sound what is the hit sound i don't know let's go ahead and create a new audio clip clip it sound great so now we can play a hit sound what's going on stop guys i hit something i shouldn't hit this is going to change my whole recording here cracker jacks whatever okay let's keep going um oh come on i don't want to see this stuff one more okay good okay so it's going to play a hit sound well let's go ahead and set the audio source's pitch to be random so audio source pitch equals random dot range hmm point a f and then 1.3 f that'll be fun okay so now we have a hit sound that's kind of cool um why don't we go ahead and just take a look at my downloads folder and grab some sounds because i downloaded these before the uh the actual recording here so that's great let's jump into our actual project folder here and i'm going to paste those in replace replace actually it looks like i already had them okay let's go back into unity here and see actually wrong one reveal in finder we're going to paste these in there we go okay now we've got them in our actual project folder so let's go ahead and go to our ball here and add an audio source to the ball i'm running out of steam my brain is starting to fart there we go and then also let's add let's go ahead and drag that uh sound effect so that's the percussion hit that's kind of cool so let's drag that to our hit sound here hit save here and go ahead and it looks like the sound is not playing [Music] um why is that let's double check here go back to our visual studio here ah because we didn't actually declare or call the function right so hit effect that's great and one here as well and that should do just fine minimize stream labs go back to unity here and hit play let's make sure this works parameter names okay i don't think i identified where the audio source was i did not drag the audio source thomas you are running out of time so go ahead and hit play here great okay let's go ahead and let's see here let's create a counter so we're going to go ahead and go to our uh we're going to create a new ui element we're going to create a new text element and this is going to be called our score okay and let's go ahead and make sure we're using the right font i really want to use let's see here what font do i want to use i downloaded one earlier today that i really liked let's see here um it's called lemon milk let's do a bold type let's drag that into our unity here good okay and let's go ahead and drag lemon milk over here perfect there we go and let's make it pretty big here not gonna be able to see it we're gonna set overflow and overflow there we go and then let's zero this text out i want it to be in the center okay this is gonna be cool i promise center that out zero it out there we go hit play okay there is our score and let's go ahead and create a new animation for our score um i think it's fine to add it to the canvas so let's go ahead and create a new animation in the canvas got a phone call one sec guys hey what's up uh yes i did yep oh no okay oh i'm sorry honey good all right well that's good okay okay cool great okay that was good sounds good [Music] love you too bye sorry guys okay we're gonna go point eight so what we're gonna do here guys we're creating a bounce effect for our text so that when you actually collect or hit a ball you get a nice cool bounce back not collect but you hit the ball so that's a little bit big let's see here so let's start it at one actually starts at one it pulses up to one point three one point three and then pulses down to point eight and then up burn burn burn so that's what happens when you collect okay all right but the cool thing is it's going to start out at nothing okay so you can't see it but the moment you start playing you'll see it on screen okay now we're going to go to our animator here and we're going to click on our canvas all right looks like we have our animation here so what we're going to do is go ahead and drag down here and we're going to create a new empty state and it's just going to be the layer default and then we're going to make a transition to score animation and then back and what we're going to do is jump into our parameters here we're going to create a new trigger and we're going to call this [Music] effect i don't know we're going to create effect there we go no exit time meaning we wanted to immediately go to the animation and uh we do want an exit time going back to that new state but we don't want it to loop right and then do we want an interruption source yes we do we want the interruption source to be the next state and then we also want it to go into itself just to be careful here so we're going to do effect here exit time no exit time and then zero transition duration that way it can play this animation okay let's so here's what's cool if we go to our ball script here remember this hit effect all we got to do is type in um text animator dot set trigger and then it's effect double quotes here good okay we don't have a text animator right so here's what we're going to do public animator text animator and then we also want to do a public text right uh and it's going to be called text looks like we have a red line here let's click on the potential fixes ah looks like we need to include the name space for our ui sounds good sounds good okay what's going on here what am i doing i totally forgot what i was doing oh okay cool and then we also what we wanna also we wanna do is uh we need a reference to the player right the reason we need a reference to the player is because we want to be able to increase the players total hits so public integer total hits by default that's going to be zero so let's iterate that so what we're going to do is go to player equals gameobject.find player uh that's capital no it's not yes it is uh get component player right there we go so now we have a reference to the player is that capitalized tell me it's capitalized it's capitalized okay now we go to player dot total hits plus equals one now what do we do we say text dot text equals total hits dot two string is that how you do it total hits does not exist up thomas player dot total hits dot to string hey now okay that looks like it should work let's go ahead and enter into [Music] the game let's hit play come on here we go [Music] well we got an unassigned reference exception yes that's because we need to tell the canvas what the score is and also what the score's animator is hang on there there we go uh and then also let's just set what the player is i know that i actually referenced that but that's fine go ahead and hit play here and come on yeah it works great and it looks really really good honestly i'm kind of impressed with this i'm pretty sure you're impressed too aren't you okay so it looks great everything's awesome hey why don't we make this look a little bit cooler okay so what i'm going to do is i'm going to create a second camera this can be called the 3d camera and let's go ahead and create a 3d terrain so this is going to be fun guys here we go we're going to create a new 3d terrain so that we're flying through this terrain as we play the game that's always really cool isn't it so let's go to 3d object we're going to create a new terrain oh there it is and we're just going to shift it over like this and now what we need to do is we need to tell the camera what not to look at okay uh the 3d cam or the 2d camera we want it to be uh we want it to clear i think that's what we're going to do here let's see if there's a 3d camera what's going on something's wrong here let's double check and see where our terrain is for some reason the 3d camera cannot see the terrain okay there it is ah it needs to be perspective good and there's our terrain okay guys okay so we have our terrain here now what we can do is go ahead and let's add in a cool terrain color so let's go ahead and create a new material that's going to be called terrain and i want this to be a tune so let's go to that's cool i guess i don't know and add the terrain color to that i don't know if it's gonna work but let's just go ahead and check um we're gonna drag that terrain color to the material here there it is it doesn't look great i'm gonna turn this directional light off i think now let's just make it white that's why we're getting that weird color okay and then i want the background color of my 3d camera i want it to be like a sort of purplish ooh that's kind of cool there we go awesome and then guys we're going to go to lighting tab and we're gonna add some fog there we go and the fog is gonna be that purple color just like that and let's go ahead and set the density to 0.04 or 0.03 that's good and then what we're going to do guys is let's just create a bunch of terrain okay so let's go ahead and just add a ton of it sorry and then let's go ahead and create uh let's see here let's go to all of these here and we gotta move the turret man there's no fast way to do this unity is you know sometimes unity is not great to be honest okay keep going thomas keep going there we go okay um so that looks good so now we have this terrain right so what we can do is just sort of create some cool uh i guess some cool effects let's just uh let's turn on the lighting there we go and then just raise up this terrain i can hardly see it i can't really see it let's turn off the fog really quick yeah there we go okay there we go i don't really like the material because i can't really see what's going on let's see if we can change that material to be something a little bit better let's go to the inspector here and right now i think what i want to do is just standard for now just let's just do standard for now okay so there is this beautiful terrain here and i'm just gonna increase the opacity and just bring up some really cool mountains here just keep drawing these mountains here [Music] okay awesome so we're drawing our mountains let's go pretty high and i'm gonna sort of have it looking looking like we're traveling through this really big ravine there we go look at that it looks really cool okay mmm unity is getting slow gotta love unity on a mac all right so there's our terrain let's let's do a little a few more shapes here and there to make it look kind of cool man okay good we've got some mountains here and there it's kind of cool let's try and make it a little bit more unique here there we go and then we're going to animate the camera down the ravine right so let's go ahead and go to our 3d camera and i'll show you how we're going to merge these guys and we're just going to create a new animation that's going to be called camera move and then hit the record button and also let's turn on that uh let's be sure we turn on that fog that's a little [Music] there we go so the fog is turned on right now let's move this camera so i'm because i want it to loop i'm going to sort of start really high with the camera so about here and then after about [Music] two ish seconds i'm gonna come down to about here and then i'm gonna go to i think a minute is fine honestly we're gonna go to the bottom of the ravine here see that look at that okay and then we're just gonna go up up and out right so that it can loop seamlessly [Music] all right there we go let's speed it up just a little bit that looks awesome what about towards the end here yeah i think that we probably need to put it to about right here and then start going up [Music] not really um [Music] something like that and then this yeah he's a little too far there we go awesome okay so that's just gonna loop right um so there's our 3d camera and then let's see if we can get that terrain looking kind of tunish really quick so let's go back to our tuning colors pro exit and we're just going to go to our example actually it's got a legacy here let's try desktop well it looks kind of cool yeah i kind of like that uh hey let's go ahead and make it blend between the two okay so we have a 3d camera here and i want it to be let's see here what's going on let's go to our 2d camera here 2d camera [Music] wait what's going on okay we got some issues here here's our 3d camera and then here's our 2d camera why is it doing that okay the ball needs to be on a new layer and that's going to be called 2d that's the layer okay so the ball is going to be on something called 2d the canvas is going to be something called 2d as well i think that's fine yeah um and then the paddle where the floor and the walls are gonna be on something called 2d as well that means in our 2d camera we can go nothing there we go 2d thomas you did it let's hit play this is awesome okay it looks great hey let's add some particle effects to make it look like we're really moving fast and oh let's fix this uh terrain really quick back in time to where we were ah spine it's not the coolest i think we could probably go ahead and now change the fog to point two or nah 0.056 there we go okay our 0.05 yeah 0.06 all right let's add some particle effects guys um create a 3d object it's going to be our effects particle system here and i'm going to put this inside my 3d camera let's zero out its position [Music] there it is okay oh yes and then rotate it towards the camera like that oh thomas that looks cool and then we're also going to change the shape to [Music] uh sphere yeah change the radius to be pretty big and i want the lifetime to be something like i think five seconds is kind of fine actually um yeah that's fine and then color over lifetime is going to go down and then start it up high too there we go there we go awesome okay and by the way we need to set the simulation space to world [Music] and then probably need to move it up like this and i'm going to set the radius to be pretty big actually there we go and let's set the i think actually 10 seconds is probably good for the lifetime in the duration um and then let's just crank up that emission to like 150. there we go and i don't like that color so let's do a color of like red there we go all right let's hit play and see how it looks like snow huh that's pretty cool so yeah we need to we need uh to change the lifetime to five i think that's what we need to do and then we just need to move it forward yeah i think that's what we need to do let's try that out what was happening was it was hitting the max amount and then you couldn't see it anymore all right that looks great sweet and i think the the fog is a little intense to be honest there we go save that out and then one more thing about the particle system guys um i want it to be a little bit smaller so particles can be something like [Music] there we go 0.3 there we go so pretty small [Music] and i guess we can increase the size of it a little bit here and then let's do one more and this is going to be like fog okay so these are going to be like 10 by 30. yeah and then it's going to be closer to the camera like this there we go actually let's do like 80 and then decrease there we go this is just going to give us that feeling of flying through something guys see that awesome there we go looks good let's make sure the game actually works though [Music] let's change that terrain color a little bit let's jump into unity here and i'm going to tweak this just a bit to be a little bit more pink it kind of looks like blood red i don't really like it [Music] i want it to kind of like a like vapor wave save that out and then jump back into unity here that looks a little bit better although i think it's the directional light that's the problem [Music] that looks a lot better i like that a lot okay really quick guys to make it look really cool all you got to do is create cubes create game object 3d object cube and what you do is you scale it up like mad like this uh i think you rotate 45 45 and 45 yeah there we go and then you're going to create a new empty game object drag it inside of it zero out its position everything looks good that way what you can do is scale this down but crank it up really tall so it looks like these spires right we don't want box colliders and we want terrain yes there we go i think that'll do it cool okay so we have these cool spires for some reason there's no shadows i don't know why but i don't think i have time to figure it out so we have these that the shadows are showing up okay so we have these crazy cool tall spires that we can place all the way down here so i'm just gonna keep going just to give some uh i don't know feeling of movement there we go and we're running out of time guys so what i'm going to do is take these and just keep dragging them in like this [Music] okay so far so good and then i'm gonna drag all of these along like so okay let's try this out and see how it looks very cool [Music] yeah i wonder if i could uh i don't think i need to speed it up i think it looks kind of cool okay that looks great now let's go ahead and create the death sequence really quick um so what we're gonna do is we're gonna say we're gonna go to our ball here let's try and do this fast guys running out of time here running out of time um we're gonna say if transform.position dot x is smaller than uh it's gonna be let's see here negative 9 negative 9 or and then we're just going to copy this okay if transformed episode i'm running out of time uh this is greater than positive 9 if the y position is smaller than negative five or the y position is greater than five okay then what we're going to do is we're going to initiate die okay die is initiated hey wait what's going on here okay initiate die if we get to any of those positions die doesn't exist let's create it really quick die all we're going to do is we're going to set our transform.position dot uh it's going to be a new vector 2 it's not new it's just a vector 2.0 um vector 3.0 it's fine and then the player.total hits is going to be set to zero we're going to set the text here we're going to set the audio source dot play one shot die sound doesn't exist go up to the top here [Music] die sound good hey we also need a audio source for the game music that's going to be called game music we're going to stop that and it doesn't exist yet guys game music dot stop and then we're gonna say game music dot play okay good good good good everything's good hey here's what we're gonna do we're gonna go ahead and do this text equals oops that is great okay try it out again go back into unity here let's add that music in um what's our music source i think this is cool yeah that's cool we're gonna drag that in we're gonna create a new game object with an audio source this is called game music drag that in to come on thomas there it is okay uh plan awake is good loop is good so that's our game music um let's see here oh we need to go to our ball and we need to go to our game music here um or we need to drag in what our game music is there it is i think we're good did we just finish the game [Music] [Applause] [Music] i'll show you how to do the image effects so let's go to our camera and this is always really cool uh what you can do i think you need to go to profile let's see here um let's create a new profile new post-processing profile i don't care what it's called and then we're going to do is we're going to add a vignette to it is fine for now uh intensity increase that and also i think i need to go to our 3d camera here and then i need to go ahead and add in a profile [Music] or image effect or post-processing layer okay and we're gonna go ahead and add that layer in it is our no there's no trigger hold on zack here post processing [Music] there it is and just drag the profile good and it's global i believe that'll do it sometimes it doesn't work [Music] sometimes it just doesn't work guys [Music] there it is okay awesome it looks great it tells me not to do that but i don't care um there's a little warning here all right so there is our vignette wanna add a bloom i love adding bloom to things so let's add a bloom effect whoa this music is not working here there we go but we'll bring the threshold down see that look at that that's awesome and let's see maybe add another one uh i love adding some grain i'm a big fan of grain there we go pretty sweet and hey let's add a cool trail effect to the ball too now we're just in the sort of adding [Music] cool effects you know um and it really really is what makes the game pop you know decrease the um alpha there we go and i think what we can do do i have a trail particle i do not have a trail particle yet let's create one trail let's call this trail and let's just add the particle image to it and let's go to mobile particles additive is fine and then let's go back to our ball here there's our trail renderer and now we can add that trail to the material let's hit play and see how it looks [Music] here we go hit play [Applause] [Music] and i wish that the 2d camera had those effects on it i wonder if we can do that let's go ahead and add a post-processing volume and post-processing layer to our 2d camera [Music] good let's drag in the profile and then also the layer and we're gonna do everything there we go i think we could turn that off now in the camera the three no the 3d camera needed it it needs it so i'm not sure okay that kind of works i don't know why it worked but it worked so we're just gonna we're gonna keep going so let's turn out that bloom is a little intense isn't it so let's drop that down a little bit and then also remember guys go back to our ball here and we're just gonna change the opacity of the alpha of the trail hit play [Music] that's great i wanna know the one thing one of the things you can do guys is add in one of the things you can really do to add in a lot of intensity to your game is just add in that white flash and so here we have let's see here this needs to be a sprite a white flash when you collect things is one of the most the oldest ways of making your game look absolutely awesome so we're just gonna bring that in we're gonna set native there it is zero it out okay look watch this uh yeah the score animation honestly um it's just gonna be a quick flash as well so we're gonna go like this i was thinking we needed to create a new animation but we just do this and then drop it down look see it's just a quick flash let's make it a little bit brighter okay nothing like that let's hit play [Music] set it to zero by default there we go save it out man i haven't seen the project yet i don't think i have that [Music] build settings i'm going to build it to mac currently i'll also build a pc for you guys after this video um let's call this pong pong extreme is that a cool name save it out and that'll export it out for us and why don't we just go ahead and upload this to hio does this count i don't know if this counts toward my total time this is not fair [Music] what in the world come on [Music] this is not fair why are you taking forever all this hard work and you're gonna take forever come on [Music] okay pong pong extreme was exported let's go to player settings and make sure something was right oh come on [Music] oh we're gonna set this to 1920 by 1080. i'm not gonna export it though yet i think i'm gonna do that after this video but let's go ahead and actually you know what let's export it now that's fine i i needed to set the um the proper resolution 1920x1080 let's go ahead and jump to hio guys [Music] itch oil we're going to create a new project [Music] upload a new project pong pong extreme pong pong extreme it's good um extreme pong for the not so faint of hot good downloadable zero donate that's fine upload our game file we're going to do macbook but like i said guys we're going to do pc as well i'm going to do that after this video just so i can say i got it up um let's see here that's doing great use your mouse to move the paddle all around the edges whoa that's the new unique feature i don't know if that's ever been done before i think it has um it's an adventure game or no it's just a puzzle game or arcade or whatever don't care about any of that oh my goodness okay we need a cover image uh 650 by 500 okay watch this guys you're gonna love it 650 by 500 and we're going to take that pink color it's going to be very simplistic and i'm going to create a cool name pong pong extreme i hope that's not taken i didn't check [Music] zero it out come on tom what are you doing pong pong extreme that's kind of cool looking it looks super simplistic and clean i like it um there we go and we're going to do that purplish color [Music] there we go and then hey let's go ahead and use noun project and create put a load let's type in pong see what we get [Music] that's what i thought i don't care we're just gonna do something something simple [Music] i might change this later but i'm just trying not to break the rules here there is our logo guys my hand hurts save we're just gonna save this to the desktop pong pong extreme come on thomas come on come on come on come on come on upload cover do i really need yeah i don't need screenshots there it is save and view page there it is guys up and running wait hold on draft public safe view page there it is and that's it we just made a game in an hour was that an hour i think it was an hour we did it whoa oh man that was really fun i might do this again whoa
Info
Channel: Thomas Brush
Views: 43,326
Rating: undefined out of 5
Keywords: thomas, brush, gameDev, unity, tutorial, c#, programming, art, animation, devlog, behind the scenes, post mortem, unity game, made with unity, I made a game in 1 week, making a game a week, 7 days, game creation, dungeon crawler, 2d, animations, tips, indie game dev, secrets, hollow knight, melee combat, making of, game jams, how to make games, indie games, challenge, code, C#, illustration, pong
Id: lPuglPBxB2s
Channel Id: undefined
Length: 56min 47sec (3407 seconds)
Published: Sat Nov 28 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.