How to start MAKING GAMES!

The Cherno · Beginner ·9y ago

Key Takeaways

The video discusses how to start making games using existing game engines like Unity and Unreal, and provides tips for beginners to get started with small projects and learn from online resources.

Full Transcript

hey what is up guys my name is I just imagine like like a horror movie or something sneaking up on someone and then being like like hey what's up guys my like it's just silent and just out of nowhere hey what's up guys my name is a Cho we're out here got out of town once again this is going to be a bit of a different video we're going to be talking about how you can get started making games [Music] [Music] all right so games how how do people get started making games how did I get started making games is probably a bit of a different question I might say for a different video but ultimately I get this question a lot how does someone who's never had any kind of programming experience any kind of game experience how where do you begin now there's just there's there's so many like there's so many answers to this question that it's difficult for me to kind of you know attempt to give the best one or the right one because everyone's going to be different you're going to probably like different things there are probably different areas of making games that you're all interested in so it's kind of difficult for me to to say like exactly what you should be doing and what you should do in order to kind of get started with with games because games are games are massively complicated projects that are work worked on by like hundreds of people at times right not necessarily but a lot of the big ones that people in the beginning people in the beginning always like to kind of aim big and make really big games really complicated games and the the the fact of the matter is those games those games that you like that are huge right they're going to have hundreds of people probably working on them and if you're just by yourself or if you got a small team maybe youve got a few friends and you just want to start making games with them like you're probably not going to have the resources to be able to do something like that like on a scale so really you should be starting with kind of small games and stuff like that so that's kind of the first thing that I want you to get into your head right you need to be able to start small you need to kind of you might not even like making games right like you I mean honestly I thought I I Thought I Loved making games but then I just realized that actually I was more or less interested in the technology behind games and that's why I currently work as as an engineer on a game engine team because I love game engines I love the technology behind games but games don't interest me as much so you definitely want to kind of just dip your foot in the water and and and find something that isn't too complicated something small that you can kind of start off with to see if you if you if you even like making games because honestly you might just get bored of it it's not it's not necessar it's not necessarily something you want to invest a lot of time in if you if you find out it's just not for you all right so anyway that's kind of out of the way disclaimers and all that kind of stuff about about starting about starting small but where where do you start right so I'm a game engine programmer right I work at EA and I develop the core technology I develop the game engine right so take this from me right I love starting from scratch I love writing all of the code that goes into the game I love creating the game engine myself however the advice I'm going to give you is don't do that use an existing game engine and that's kind of difficult advice to give because again it's just so like I wouldn't personally follow this advice the advice that I'm giving you right now is probably not advice I would follow but that's because I don't like making games that much I like making engines so of course I don't want to use a game engine to make a game what purpose does that serve right I would love to just kind of make an engine instead but if your purpose if your drive is to actually make a game and finish a game and maybe even ship a game then you you you have to use an existing game engine it's for someone with like no programming experience for someone with no experience in game engine architecture or any of like you know graphics apis and stuff like that for you to begin with making a game engine is going to take you years and you're probably going to drop it because you'll be like I I'm seeing like it took me like 3 months to get a triangle rendering right like it's it's just not it's just not feasible in the future you might decide actually you know I've had a lot of experience making games I know how games are made I can kind of move on to maybe starting to integrate my technology using my technology to make games however in the beginning it's going to be critical for you to see results right you want to be able to develop a game and actually see results if you don't see those results it's not nothing's going to really motivate you as much right as actually seeing hey look I worked for a week and I have this now I have this to show for it whereas a lot of like game engine design especially in the beginning I know this because I started that way right a lot of that kind of game engine design in the beginning is more or less going to be you working for weeks and not really seeing anything or seeing something that you could have done in 2 seconds the sun's coming out doing something that you could have done in 2 seconds is using a game engine you know why I love going out here and filming because like check this out it is absolutely gorgeous out here look at that Sunset look at that I'm literally that is what is literally that is what is in front of me right now all right anyway back to it so pre-made game engines right the big the two big choices that you've kind of got are really unity and unreal and those two engines are both extremely capable they're both they're both engines that I would like trust right to produce my game what I mean by that is when you put a lot of work into a game and maybe you've got people working for you maybe you got just got friends and you're making a game you want you want to use proven technology right so that you don't end up having to redo a lot of work and so unity and unreal I'm just going to duck here behind this on real quick and so unity and unreal are kind of two technologies that have been around for such a long time that they are stable right now I could go into my opinions of the two engines um but really the only thing I would say is is use one that maybe people around you are more familiar with use one that that maybe you're more likely to have experience with you might have already done something for school or for University in unity for example so use Unity right it doesn't matter it's a tool right unless you're going to start making a very very specific game or some kind of AAA production like I would not recommend Unity or unreal for kind of AAA games maybe unreal is kind of feasible but Unity definitely not no one uses unity in AA games pretty much um because it's just it's just not like there are a lot of problems with it but anyway the idea is pick an engine that you like pick an engine that you think that you think you might run into people that use because having people to support you having people to actually help you out with using the tools is going to be something that's really really important especially in the early kind of especially in in the early kind of hours I could say of your actual like of your actual experience because the most important thing I would say in the beginning is just finding something that motivates you if you lose motivation it's going to be really tough for you to just be on the grind and keep learning because making games as I said is tough making games is not something that is easy no matter if you're using Unity or if you're if you're rocking your own engine it doesn't matter right like making games is hard and if you're just getting started with it you need something to keep motivating you right you need to stay motivated you need to stay disciplined you need to keep grinding you need to keep learning you need to keep doing it otherwise you you're just not going to finish a game right okay so that being said to sum up what I've said so far right is start small make sure you're making some kind of small scale game that you can actually finish it's a really good idea to make something small like honestly I'm even talking about something like snake or maybe Pac-Man or like a game like that right Space Invaders whatever make a game like that first to test out the tool set that you're using so in other words you just decided to use Unity cool so make something small so that you can actually see how Unity Works see what it takes to go from start to finish for a game right if you start some kind of complicated 3D game and then you kind of just I don't know you you stop halfway through or you just spend weeks working on just the beginning of the game you don't know how to make a game right you know how to make like some kind of level probably that looks kind of nice graphically that doesn't even require any programming right like you you want to do something that you can complete because then you can say I have completed a game look at my portfolio I've made this right and I know how to actually use every aspect of unity I mean obviously if you're making something like snake you wouldn't be using every aspect of unity but what I mean is you've used the core aspects that you need such as you've written scripts you've set up entities and game objects you've actually you've actually published it you know how exporting works you know how assets work all of that stuff right okay so start small use an engine okay those are the kind of two two main points that I've made so far third one programming right so every game engine requires you to write some kind of code unreal has blueprints which is a little bit different but it is still a form of programming it's just kind of visual scripting right visual programming it's still programming you're still saying do this if this happens and you're still kind of going through logic flows and all that stuff it's just a lot of the cases in the I think the sun's gone so I can probably stand up now a lot of the cases the logic is kind of transformed into some kind of visual editor into some kind of node graph that you can kind of just use to link noes together and create some kind of visual script but all of the mathematical stuff right like actually doing mathematical equations it kind of aims to minimize that in the sense of you want to work out a collision between two entities or two game objects or to actors right you can do that by just by just basically scripting you know entity one do collides with entity 2 and if it returns true you've got a collision right it's supposed to be really easy that's the whole point of a game engine it's minimizing that actual lowlevel programming that you might have to experience if you were rocking your own engine or something like that so with unity you would probably be using C to script you can use JavaScript or whatever don't C that's the way to go because C is actually a more useful language for games than JavaScript would be unless you're making web games uh JavaScript is probably going to be more used for web games C however I use C at work all the time because all of our tools are written in C so for example the level editor you know any kind of kind of UI layout edit editors all of that stuff they're all written in C any tools that we really use so C is a very useful language to know that being said Unity c c in unity is very different than C in the wild or C kind of for Microsoft desktop kind of applications right they're very very different because because Unity C is really just using C as a scripting language it's got the monor runtime as well which is a little bit more limited than microsoft.net framework I mean it it includes most of it but there are some things that are missing so it is a little bit of a different experience if you're writing code for Unity than if you were just using C by self but that being said c is a way better language than JavaScript way better language than JavaScript so you're definitely going to want to use that if you're using Unreal you're going to have to either use blueprints or C++ I'd recommend blueprints to start off with they're really easy you'll probably get something up and running faster again unreal C++ is filled with custom macros and metad data and meta programming and stuff like that that really makes it a lot easier and also a lot different than kind of traditional raw I would say C++ and so that's why there's going to be a learning curve anyway if you know C++ if you know C you're not going to just be able to pick up Unity or unreal and actually just rock that right it's going to be different it's there's still going to be a learning curve you still need to learn the API and learn how how to actually Program in those engines but the cool thing about those engines is they come with both tutorials they come with excellent documentation and API reference and stuff like that and they also come with sample projects so you can actually just boot up a sample project and just you know check that that out right and then you can see exactly how they put it together you can see exactly how they scripted everything if you need something you can just Google it really there's so many people on forums and stuff like that that's what I mean like when you're rocking an engine when you're using an engine that is popular and that isn't your own right you're going to have so many resources out there that literally you can Google your way through making a game I'm not even kidding you could have zero programming experience and you could Google your way into making a game because really all you have to do is know how to follow instruction and probably maybe slightly tweak or modify the source code that you end up copying and pasting into your game and stuff like that but that's kind of it like that is my tip get a game engine create some kind of small project right like have an idea for a small game that you can actually manage realistically by yourself including doing the art for it doing all the programming for it all of that stuff pick something small use a game engine and then just literally like literally just Google gole your way into like how to how to how to write code for that engine and how to develop using that engine maybe watch some video tutorials that you find on YouTube um you could just bust out some sample projects again and start kind of looking inspecting them and reverse engineering them that's also very common that's really all there is to it and that's how you can really get started with making games right once you've done your first project um you can probably continue onto something maybe a bit more a bit harder you can probably maybe team up with a friend and say hey I I know how to use Unity a little bit I know you do as well together we could make something a bit bigger because like collaboration is really important for game development people don't make games alone usually if you look at any kind of Studio I mean they're filled with people of different disciplines you got artists you got designers producers Engineers everyone right development directors stuff like that right because it takes a lot to actually make a game and to manage like all the people and yeah as I said I could keep saying this all day but making games is really hard so make sure that you're kind of committed to it because it's really hard anyway that's pretty much it let me know what you guys think of of these kind of Vlog type me talking to the camera I just I I get a lot of questions and I never answer them because the videos I make are just part of kind of Series so I just I I kind of I like the idea of of doing these oneoff videos if you guys have any more questions that you want me to answer just drop a comment below I usually read all the comments so that I can see what you guys want to see and I'm happy to just literally get out of town head out into the beauty that is outdoors and just literally we can just hang out we can just hang out we can just have a talk and uh and yeah so anyway if you guys enjoy this video please hit that like button you can follow me on Twitter and Instagram as well I'm going to be posting a lot of the photos that I take out here on Instagram so make sure you follow me there and to see some sweet photos but apart from that I'll see you guys in the next video goodbye [Music] by

Original Description

Instagram ► https://instagram.com/thecherno Twitter ► https://twitter.com/thecherno Patreon ► https://patreon.com/thecherno Today we're talking about how you can get started making video games! Making games is hard work, and learning where to begin is a difficult process. Make sure you stay motivated, start off with something small, and actually jump in and start working on something. Let me know in the comments if you guys would like to see more videos like this. Thanks for watching! :) BEST laptop for programming! ► http://geni.us/pakTES My FAVOURITE keyboard for programming! ► http://geni.us/zNhB FAVOURITE monitors for programming! ► http://geni.us/Ig6KBq FAVOURITE programming book! ► http://geni.us/z4Yx MAIN Camera ► http://geni.us/CYUQ MAIN Lens ► http://geni.us/ZM3CmG Microphone ► http://geni.us/wqO6g7K
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from The Cherno · The Cherno · 0 of 60

← Previous Next →
1 3D Game Programming - Episode 1 - Window
3D Game Programming - Episode 1 - Window
The Cherno
2 3D Game Programming - Episode 2 - Game Loop
3D Game Programming - Episode 2 - Game Loop
The Cherno
3 3D Game Programming - Episode 3 - Arrays
3D Game Programming - Episode 3 - Arrays
The Cherno
4 3D Game Programming - Episode 4 - Drawing Pixels!
3D Game Programming - Episode 4 - Drawing Pixels!
The Cherno
5 3D Game Programming - Episode 4.5 - How Rendering Works
3D Game Programming - Episode 4.5 - How Rendering Works
The Cherno
6 3D Game Programming - Episode 5 - Playing with Pixels!
3D Game Programming - Episode 5 - Playing with Pixels!
The Cherno
7 3D Game Programming - Episode 6 - Performance Boosting
3D Game Programming - Episode 6 - Performance Boosting
The Cherno
8 3D Game Programming - Episode 7 - FPS Counter
3D Game Programming - Episode 7 - FPS Counter
The Cherno
9 3D Game Programming - Episode 8 - Alpha Support and More
3D Game Programming - Episode 8 - Alpha Support and More
The Cherno
10 3D Game Programming - Episode 9 - Beginning 3D
3D Game Programming - Episode 9 - Beginning 3D
The Cherno
11 3D Game Programming - Episode 10 - Floors and Animation
3D Game Programming - Episode 10 - Floors and Animation
The Cherno
12 3D Game Programming - Episode 11 - Rotation
3D Game Programming - Episode 11 - Rotation
The Cherno
13 3D Game Programming - Episode 12 - User Input
3D Game Programming - Episode 12 - User Input
The Cherno
14 3D Game Programming - Episode 13 - Render Distance Limiter!
3D Game Programming - Episode 13 - Render Distance Limiter!
The Cherno
15 3D Game Programming - Episode 14 - Basic Mouse Movement
3D Game Programming - Episode 14 - Basic Mouse Movement
The Cherno
16 3D Game Programming - Episode 15 - Textures + More!
3D Game Programming - Episode 15 - Textures + More!
The Cherno
17 3D Game Programming - Episode 16 - Walking, Crouching, Sprinting + More
3D Game Programming - Episode 16 - Walking, Crouching, Sprinting + More
The Cherno
18 3D Game Programming - Episode 16.5 - Exporting Runnable Jars
3D Game Programming - Episode 16.5 - Exporting Runnable Jars
The Cherno
19 3D Game Programming - Episode 17 - Small Adjustments + Birthday!
3D Game Programming - Episode 17 - Small Adjustments + Birthday!
The Cherno
20 3D Game Programming - Episode 17.5 - Creating an Applet
3D Game Programming - Episode 17.5 - Creating an Applet
The Cherno
21 3D Game Programming - Episode 18 - The Beginning of Walls
3D Game Programming - Episode 18 - The Beginning of Walls
The Cherno
22 3D Game Programming - Episode 18.1 - A Few More Things
3D Game Programming - Episode 18.1 - A Few More Things
The Cherno
23 Episode 18.5 - Creating an EXE File in Java
Episode 18.5 - Creating an EXE File in Java
The Cherno
24 3D Game Programming - Episode 19 - Rendering Walls
3D Game Programming - Episode 19 - Rendering Walls
The Cherno
25 3D Game Programming - Episode 20 - Continuing Walls, Fixing Bugs, and Managing Crashes
3D Game Programming - Episode 20 - Continuing Walls, Fixing Bugs, and Managing Crashes
The Cherno
26 3D Game Programming - Episode 21 - Texturing Walls, Fixing Clipping, and Fixing the Mouse
3D Game Programming - Episode 21 - Texturing Walls, Fixing Clipping, and Fixing the Mouse
The Cherno
27 3D Game Programming - Episode 22 - Random Level Generator + Properly Fixing Clipping
3D Game Programming - Episode 22 - Random Level Generator + Properly Fixing Clipping
The Cherno
28 3D Game Programming - Episode 23 - Graphical User Interface (GUI) Launcher
3D Game Programming - Episode 23 - Graphical User Interface (GUI) Launcher
The Cherno
29 3D Game Programming - Episode 24 - Making Our Launcher Work
3D Game Programming - Episode 24 - Making Our Launcher Work
The Cherno
30 3D Game Programming - Episode 25 - Writing and Reading Files
3D Game Programming - Episode 25 - Writing and Reading Files
The Cherno
31 3D Game Programming - Episode 26 - Custom Resolutions
3D Game Programming - Episode 26 - Custom Resolutions
The Cherno
32 3D Game Programming - Episode 27 - Decorating the Launcher
3D Game Programming - Episode 27 - Decorating the Launcher
The Cherno
33 3D Game Programming - Episode 28 - Continuing our Custom Launcher!
3D Game Programming - Episode 28 - Continuing our Custom Launcher!
The Cherno
34 3D Game Programming - Episode 29 - Launching The Game
3D Game Programming - Episode 29 - Launching The Game
The Cherno
35 3D Game Programming - Episode 30 - Colour Processing In-Depth
3D Game Programming - Episode 30 - Colour Processing In-Depth
The Cherno
36 3D Game Programming - Episode 31 - Sprites!
3D Game Programming - Episode 31 - Sprites!
The Cherno
37 3D Game Programming - Episode 32 - Sprite Mapping
3D Game Programming - Episode 32 - Sprite Mapping
The Cherno
38 3D Game Programming - Episode 33 - High Resolution Rendering
3D Game Programming - Episode 33 - High Resolution Rendering
The Cherno
39 3D Game Programming - Episode 34 - Entities
3D Game Programming - Episode 34 - Entities
The Cherno
40 Genesis - My Game for Ludum Dare 24
Genesis - My Game for Ludum Dare 24
The Cherno
41 Vlog + Ludum Dare Results
Vlog + Ludum Dare Results
The Cherno
42 Game Programming - Episode 1 - Resolution
Game Programming - Episode 1 - Resolution
The Cherno
43 Game Programming - Episode 2 - Threads
Game Programming - Episode 2 - Threads
The Cherno
44 Game Programming - Episode 3 - Game Loop
Game Programming - Episode 3 - Game Loop
The Cherno
45 Game Programming - Episode 4 - Window
Game Programming - Episode 4 - Window
The Cherno
46 Episode 5 - Buffer Strategy
Episode 5 - Buffer Strategy
The Cherno
47 Game Programming - Episode 6 - Graphics Initialized
Game Programming - Episode 6 - Graphics Initialized
The Cherno
48 Game Programming - Episode 7 - Buffered Image and Rasters
Game Programming - Episode 7 - Buffered Image and Rasters
The Cherno
49 Game Programming - Episode 8 - The Screen Class
Game Programming - Episode 8 - The Screen Class
The Cherno
50 Game Programming - Episode 9 - Rendering Pixels
Game Programming - Episode 9 - Rendering Pixels
The Cherno
51 Game Programming - Episode 10 - Clearing the Screen
Game Programming - Episode 10 - Clearing the Screen
The Cherno
52 Game Programming - Episode 11 - "Out of Bounds, Baby!"
Game Programming - Episode 11 - "Out of Bounds, Baby!"
The Cherno
53 Game Programming - Episode 12 - Negative Bounds
Game Programming - Episode 12 - Negative Bounds
The Cherno
54 Game Programming - Episode 13 - Timer
Game Programming - Episode 13 - Timer
The Cherno
55 Game Programming - Episode 14 - FPS Counter
Game Programming - Episode 14 - FPS Counter
The Cherno
56 Episode 15 - Tiles
Episode 15 - Tiles
The Cherno
57 Game Programming - Episode 16 - The Map
Game Programming - Episode 16 - The Map
The Cherno
58 The Walls 2 - Minecraft PvP Survival Map
The Walls 2 - Minecraft PvP Survival Map
The Cherno
59 Game Programming - Episode 17 - Key Input
Game Programming - Episode 17 - Key Input
The Cherno
60 Game Programming - Episode 18 - Controlling The Map
Game Programming - Episode 18 - Controlling The Map
The Cherno

This video teaches beginners how to start making games using existing game engines like Unity and Unreal, and provides tips for getting started with small projects and learning from online resources. The video covers the importance of starting small, using pre-made game engines, and collaborating with others. By following the steps outlined in the video, viewers can create their own small game projects and learn the basics of game development.

Key Takeaways
  1. Create a small project using a game engine
  2. Use online resources to learn and troubleshoot game development
  3. Reverse engineer sample projects to learn game development
  4. Use Blueprints or C++ for scripting in Unreal Engine
  5. Use C as a scripting language in Unity
  6. Watch YouTube tutorials for game development
  7. Collaborate with others for game development
💡 Starting small and using pre-made game engines can help beginners get started with game development and see results quickly, which is critical for motivation and learning.
Up next
George Hotz | Programming | tinygrad, starting on CLOUD=1 | Part 2
george hotz archive
Watch →