Do these 7 things for EVERY game!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
game developers love starting new projects you get a blank slate no technical debt and the ability to build just about anything you want but a question i get all the time is hey jason when i'm making a new project is there anything important that i need to do right from the start or are there any steps that i should follow every time so today i'm going to give you seven steps that you should follow whenever you start any new project but first the two steps that you should follow whenever you watch one of my videos you know sorry to hit that thumbs up button and just share this thing out somewhere wherever you like to share videos i appreciate it and hey it really helps and it helps other people start to learn about game development and to learn these steps that you're going to follow so that their stuff matches yours all right let's get started now before i share the first step i do want to say that if your project is something that you're going to throw away tomorrow or the next day then these steps may not apply it may be a little bit of overkill but if you plan on keeping the thing around for a week and you're going to keep working on this project and just making changes to it then i would highly recommend that you start with number one and that's to add your project to source control now source control sounds like a big scary thing to some people for some people it's just an innate obvious thing that they do for every project and what i think that you should do is get into that state of making it that obvious thing where whenever you have a project that you want to keep around you just instinctively add it to source control it doesn't take any mental power or any extra time because it's just a habit that you do without even really thinking about it now if you're not sure how to get set up with source control the easiest way to do it is to just use the unity collaborate system it's not perfect it can be a little bit buggy on occasion but it's by far the simplest system to get set up with if you're a little bit more experienced and you're into source control systems git is a great option make sure that you look into get lfs but don't make that a restriction to get started start with just using some source control and start committing your projects to it regularly and the reason for this is twofold one is so that you have undo history and you have the ability to go back if something goes wrong when you start a new project it's very easy to accidentally just completely destroy things ruin your whole project make it so the game doesn't work and that can be a really demotivating demoralizing and just waste of time too i've seen lots of people just accidentally destroy their projects and then just give up on it because they felt like hey i put in so much time and energy and then i lost what i had because a drive failed or i ran a program that did the wrong thing or some asset came in and just totally messed stuff up and i don't know how to fix it source control would save you in every one of those situations and it's extremely simple to get going with this brings us into item number two though because item number two hooks directly in with source control and that's a continuous integration or continuous deployment system now if you're thinking okay jason this is ridiculous you're getting overkill with these projects like i don't want to set up continuous integration or deployment i don't even know what those things are don't worry it's actually not nearly as complicated as it sounds a continuous integration system is essentially an automated system that somebody else has probably built that just monitors your source control and it looks for changes whenever you make a change to your source control system that integration system will pick up those changes do a build or attempt to do a build so it'll try to compile your game for whatever platforms you have it selected for and then it will do the continuous deployment part which is to push a build out now this works great if you're building something like an ios game or an android game or even a webgl game because you can do a commit you don't have to worry about putting it out to the device it just kind of happens now you're thinking hey this is not an easy thing getting a deployment out to some of these devices could be a lot of work not when you get start from started just right from the beginning if you start with an empty project and you go through the process of setting up continuous integration and deployment you can literally follow step by step through a simple tutorial get it up and running in 10-15 minutes and then have a pipeline or a process that you just repeat and use all of the time once you've done it once it becomes very easy to do it again and when you do it from the start where there's nothing in your project where you're just kind of pushing up a hello world project or pushing that out it's extremely easy to get going there's nothing to debug and if anything comes up along the way with assets and things that you've put put into your project you'll know immediately because you'll get the build error or the build notification or just the warnings and problems from the build right away and that's a good thing because you don't want to start pulling in assets pulling in things and then wait and wait and wait and then hey i haven't done a build in a month let me try it out suddenly i try to do a build and everything breaks and really that's one of the biggest benefits is that you'll know constantly that your project is working if you have continuous integration and continuous deployment because you don't have to just do a build manually that happens all the time the other thing that you're going to get out of that though is huge time savings because the first time that you set it up like i said it might take 15 minutes and if you've never done it before it might take you an hour but when you do a build and you do a build with a deployment to a device or to a web build or something else every time you do that you're going to expect to take at least 10 minutes maybe you can get it down to 5 minutes but i would expect you're gonna take 10 to 20 minutes that time is going to add up really really really fast the time that you save from automating this will pay itself off in a month and it will pay itself off you know 12 fold in a year definitely get in the habit of setting up some integration now on to number three how do we set up the project folder structure well my preferred system for it is to create a script folder where i'll put all of my code i've seen it named other things but unity's default is scripts and that's what they recommend so it's what i've kind of switched over to using as my default i'll also make an art folder where i'll put any custom art and then a prefabs folder the only other folder that i always make sure to have in my route is an asset packs folder and this is where i'll start to put in asset packs that i decide to bring into my project but i want to make it clear that we're going to jump right over to number four there's a number four which is that i don't just pull assets directly into the project for step number four what i do is create a temporary project where i can import and test assets a little sandbox project where i can pull assets from the asset store in find the pieces that i actually want to use from those assets and then export them out into their own little packages then i'll pull those packages into my other project or sometimes i'll just find them figure out the folder structure and then copy them over either way i sometimes i use the export just because it'll find references for things if the folder structure is a little bit weird but the goal here is to not clutter up my project with a bunch of things that i don't need and that i'm not going to use it's a whole lot harder to go through things later and start deleting out art assets and deleting out scripts that you're not sure if they're used by something because they were pulled in by an asset you don't remember if that asset uses anything because it's been a year and you could go look but there are hundreds of them into the projects getting huge and stuff or somebody else pulled a minion you don't know so it's best to just keep it clean and not pull in a bunch of junk only pull in the stuff that you want that's where this sandbox project really comes in helpful having a thing where i can just dump in stuff try it out really quick and then pull it over is great now sometimes that sandbox project will just be a copy of my real project if i get to the point where i need to actually see the things in context with my game what i'll do is just copy my project make that the new sandbox one and i'll pull stuff into that and then i'll only put them into my actual project that's using source control once i've decided yeah this is actually the thing that i want and these are the parts that i want from trust me it's gonna save you a ton of pain not having to go back through and figure out hey why is there a one gigabyte apple in my project how do i delete this is this actually used on stuff don't put the bad things in your project keep it clean and keep it clear now another thing that's really going to help you with your project is step number five and that's to come up with an actual plan a lot of people will start a project with a loose idea in their head for what they want to do and no real plan for how they're going to build it my recommendation is to grab some sort of a planning tool one of the ones i prefer to use is trello because it's easy to use and free but any planning tool will work where you can mark out all of the things that you want to accomplish and mark them out not just at a high level but also break them down into smaller level chunks of tasks that you can accomplish in one day build up a list of all of the little things that you'd like to work on in your game and that you'd like to have done in your game and get them in fights that you can bite off and take into account well just take into account the amount of time that you've got available in each sitting and make sure that they fit into that setting so that you can take one work on it whenever you have time and then move it over to its done column whenever it's done you want to be able to see constant progress in there and you want to be constantly working in your tools to keep track of what things you're working on what progress you're making what systems you're building and also that you're making the things that you want to make because it's very easy when you get into a project or when you get into game development in general to get distracted and just kind of start going down a rabbit hole and forget about all of the things that you wanted to do so make a list keep that list somewhere safe and somewhere that you can manage it easily i recommend trello again there are lots of other cool options out there though that you can try out but set something up and keep track of your progress there and constantly be updating your progress now step six might not feel like it fits here because it may seem a little bit early but it really does tie in with keeping things well i think it ties in with everything that we've been talking about here and that's to be sharing your progress instantly or almost instantly and continually if you've gone through the steps that we've already covered setting up continuous integration setting up something where your your project is relatively clean and not bloated because you're not filling it up with a ton of extra assets and you've got a plan that you're following where you're constantly making a little bit of regular progress then what you should be able to do is share that progress constantly your builds should be going out getting shared with whoever it is that you feel comfortable sharing it with i would recommend share it wide share it broadly with just about everybody who's interested and willing to try your game out and give you feedback if you're afraid that hey they're going to steal your idea i'm sorry tell you they're definitely not going to steal your idea every game developer out there has a million ideas zero of them want to steal your idea and even if they did want to steal your idea they wouldn't be able to implement it they're never gonna do it don't worry about it get your game out there let people try it let people prototype or not really prototype but play your prototypes in your early versions of it and let them test it so that you can see what issues there are and you can get feedback and make sure that you're building the right thing very easy to just you know start a project keep it to ourselves keep it to ourselves keep it to ourselves and then six months later go hey everybody look look at this thing i've been working on and then suddenly you get all this feedback that totally changes how you would think about the game or you see issues that you know you never notice that everybody else notices because when you're building a game it's very easy to not see the issues that you work around in fact it's easy to automatically kind of work around the issues without even noticing you're doing it sometimes but you need to be getting feedback constantly and that's why going through this process and going through the steps that we've already covered will make that quite a bit easier all right now we're on to the final step or one that i think is probably the most important even if you ignore all of the previous steps this one is one that i think everybody should follow and that is to build out a vertical slice of your game first don't build out the entire thing don't try to build a giant story or try to build a giant world from the beginning build out a playable version of the part of your game that you think is most interesting and the most fun if you can't do that or you can't get that part down to where it's good and fun then the rest of the world and the rest of the game isn't going to be worthwhile it's not going to be a good use of your time you need to get it so that you have the fun figured out you understand why people are going to play what it is that they're going to play for what's going to get them to keep coming back and want to play this game once you've got that down it's easy to scale that out and start adding more and more on top of it but you need to get that part first don't try to just build out this giant story and think that hey there's a story here i've got all this cool stuff in my mind that it's going to suddenly translate you need to make a fun game first and then build out your world build out your entire ecosystem around it don't build out little tiny systems or like no i guess like low level systems build out the fun part first then start adding that stuff on top and start kind of making it making the really cool parts about your game stack on top of the core get that core there which is that vertical slice and if you've never built a vertical slice of a game i highly recommend you just go look up a couple videos on what a vertical slice of an actual game looks like and you can see this in the context of real triple a games and what they do if you just look up some gdc talks and stuff and i think it's a very interesting and important skill for you to have and just an important thing for you to understand because a lot of people just spend a lot of time building building building and building and just growing a thing out without ever getting down to the important part of like where's the fun part first because without that nothing else matters nobody's gonna play it all right let's wrap this up with item number eight the secret one which was to remember to hit that thumbs up button i really appreciate it and i i ask for it all the time because it makes a big difference and you hitting that little button like it pays off for this video i appreciate it and just please please i don't know anyway thanks again for hitting it and also just for watching if you have some tips or recommendations things that you think people should do when they start a project i also love to hear them down below i also plan on doing a list of things not to do when starting a project so if you've got any ideas for things that we should not do when starting a new project please drop those down below too i'd love to hear them and i'm sure everybody else would as well all right thanks again everybody thanks for subscribing thanks for watching and hitting that thumbs up and also thanks again to everybody on patreon goodbye out there
Info
Channel: Jason Weimann
Views: 48,158
Rating: undefined out of 5
Keywords: gamedev, unity3d, 7 things, top 10, unity, 2021, dani, brackeys, devlog, c#, coding, tutorial, computer science, unreal engine, unreal engine 5, source control, learn unity, game development for beginners, jason weimann, game developer, game dev log, indie game devlog, unity tips, video game industry, unity3d college, unity game dev, game, how to make games, programming, making a game, game development, game dev, unity 3d, bts, gaming, unity tutorial, quill18, game devlog, unity devlog
Id: 1f4mkY8jUdY
Channel Id: undefined
Length: 14min 53sec (893 seconds)
Published: Mon Dec 21 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.