How to Start Learning Game Engines and Development

Поділитися
Вставка

КОМЕНТАРІ • 90

  • @youshakhalid8974
    @youshakhalid8974 Рік тому +73

    Adam I got to hand it to you, you're literally the best UA-camr if anyone wants their start in pixel art game development. Much appreciate it for everything you do

  • @Koooles
    @Koooles Рік тому +10

    Yeah your advice does hit my issues, my journey was like this:
    Round 1: I installed Unity and just followed bunch of tutorials, I was completely cluless since I followed a lot of game development and I had very primitive class in school, so I knew what code is... And stuff, so I thought "I will learn on the go". That was a mistake. Even the "basic" tutorials would tell you what it is, but since I had to clue what array is or how the syntax looks, what a function is, besides the basic logic I couldn't make heads or tails from what is being told. I would follow along the tutorial and think "I kinda get it", but I had no clue what is anything, besides just copying and "monkeying" with code. I would change something but it was extremely inefficient, because I had idea where do we even declare a new variable, what it does, why it does etc. If I had an issue I didn't even knew what and why. I couldn't do more than copy things and try to paste them together. I only did it for maybe a month since it became pretty demotivational to just be so lost so I thought maybe I am "not getting something".
    Round 2: I was older and wiser, so I actually googled some shit before giving it a go. I decided to first actually learn how the hell does C# work. I spend maybe few weeks to a month in Microsoft C# sharp tutiorial (god bless Bob, he explained everything so well), so finally I felt like I am not a complete illiterate, I would understand how if statement works, what are arrays and lists, dictionaries, the difference between floats and ints and so on. So I jumped back to Unity thinking "I got this".
    That was slighly a mistake again. Not as bad as 1st time when I went completely blind (waste of time) and just copied, this time I was actually able to understand some code and make my own simple functions work. But the problem was almost the opposite, it gave me false sense of "I got this". I spend maybe 3 months prototyping a game, since I thought what's the big deal? It's all just some functions on a script. So I made a lot of horrible code because I had no practise how to use all the available tools and 0 clue about overall code architecture or design patters. I did learn some things, but it was very hacky. Basically I cringe when I look back at what I did, almost everything was an if statements, there would be huge chunks of unrelated code on player etc. I got demotivated again since at some point I couldn't make things work again and my projects would be bloated and hard to manage.
    Round 3: I took a huge break but in between I did spend a little more time learning some math and some coding. After a long break I came back trying to learn again. I went through Unity Pathway (coding) as a refresher, but I also learnt a lot of things on the way, or removed bad habits I had. This time I learnt more about encapsulation, inheritence, design patterns, good practises in Object Oriented Programming and so on. I am still pretty noob-ish, however, now when I watch tutorials I can actually understand big portion what is going on and repurpose it for my ideas, or make things myself. I am still very weak on the math and some functions still go over my head, but I feel only now I actually at point where I can LEARN something, instead of just copying.
    ONE MAJOR THING that I felt no one actually mentions when it comes to making games and learning programming and so on (with OOP languages), is that the code function itself, as in the text that does the shit is like only 50% or 30% of your project, the REAL PROJECT will be the architecture of your game, these are infinitely more important to get right. It's such things as not reusing code, writing it clearly, using inheritence, using intefaces, knowing what you need to serialize, knowing good practises of scene and game managers etc. Most likely you will spend more time doing that than the actual pure function, but as a beginner everyone just kinda tells you "it's for later" so you end up making your Unity project with half of the shit running in one script and no clue how to have character persistence beause of spaghetti going on there, lol.
    Thank you for coming to my TED talk.

  • @qmerk2661
    @qmerk2661 Рік тому +64

    without going to school to learn, its very hard to get started, and understand the very basics of coding, and a language of your choice. I had the hardest time learning game dev when I first started because I always ended up following UA-cam tutorials, and never really learning anything, but ending up with games. but never could go on by myself and make a game without a tutorial. so I stepped back a while, to think about why this was happening. and I realized it was because there really isn't any tutorials that actually help. sure, they help if your a lil familiar with it already, but not when your brand new to it all. cuz all you do is type what they are typing , doing what they are doing, clicking what they are clicking, and then boom, got a game, but don't know how you did it. so I got frustrated and decided to use a "easy little kid" engine that's called construct. Its like game maker(kind of) but anyways, its visual scripting, and I at first thought it wont help me with coding, but ill be stress free while making games. and I was right. after a while of using it, I was making games, and being able to make them all on my own. BUT THEN! i started to realize i was actually learning those little important things that i couldn't figure out before in other engines. yes, its visual scripting, but it has very similar basics as coding games does. so I took the leap, and tried out unity, and Godot(which i really like)....and what do ya know?.. I understood everything that I couldn't seem to figure out before, and it was much easier for me to understand what i was following in tutorials. and boom! can make stuff happen without tutorials now. (this is just how I went about everything)(this doesn't mean its the best way, but it might help you out as well)(and this was a shortened description of what happened) good luck and just enjoy the experience if your new! 🙂

    • @edvaldomelquiades3865
      @edvaldomelquiades3865 Рік тому +4

      This is really a great tip man.
      It's a good way to start learning the concepts first.

    • @Jack_______oh
      @Jack_______oh Рік тому +4

      I took CS50 over a 2 month period. It's harvard's free computer science course. It's extremely comprehensive and the coding part is honestly the most comfortable part of game dev for me now. Be warned, CS50 is very, very hard. The first week not so much but it quickly ramps up.

    • @tinsaus5498
      @tinsaus5498 Рік тому

      @@Jack_______oh I was actually looking into that free Harvard CS50 course you mentioned. Looking to start with some hobby-ist game dev this year and was wondering whether it'd be worth my time to do that course first. Do you reckon it's a worthy time investment?

  • @Itskimbob
    @Itskimbob Рік тому +9

    YES, I love your advice of learning Processing! I dabbled with it for a few months and it was a very satisfying way to learn to code.
    I decided to take the plunge and learn Unity this year. I fired up one of Unity’s beginner courses, and I was surprised that the code already felt familiar. I didn’t realize it would be so similar (at least at that level).
    Of course, also here learning pixel art as well. Thank you so much Adam for all of the incredible resources you’ve made!

  • @nicolasgauthier5359
    @nicolasgauthier5359 Рік тому +5

    As someone with a software engineering background and 10+ years of experience, most of which doing game Dev, i would also recommend staying away from c++. It is awesome, but hard even for experienced programmers. C# is much nicer to learn and code even though you give up some control over lower level optimization. There are still AAA projects built on it, even if less common. And for indie projects it’s perfectly fine.

  • @bria9143
    @bria9143 Рік тому +10

    Thank you so much for making this video, I recently graduated highschool with no plans to go to college, and have only been working full time since. I'm really looking for something I want to do with my life, and I think this could be it. I just wish I would've started learning sooner, as it seems like it will take a long time to make any kind of career in this field, but I know if I stick with it I can make something amazing that I am proud of :)

    • @omgitssome1
      @omgitssome1 Рік тому +3

      If it makes better, I am almost 30 and thinking of making the switch now

  • @YoboVFX
    @YoboVFX Рік тому +1

    I've given up multiple times in making a game and having a cohesive guide like this really helps me a lot. I'm mostly an artists with less experience in coding but I'm getting there.

  • @ShiloBuff
    @ShiloBuff Рік тому +7

    Hello! I started with BASIC and VB/Delphi also (as well as web dev). I never heard of Processing and it gives me Arduino vibes without the pain of C. I love it! It does seem like a great way to get new programmers to relate a small scope of code to visual results without all the overhead of frameworks and engines. My only preference would be using VSCode with Processing, maybe theres a plugin for it.

    • @AdamCYounis
      @AdamCYounis  Рік тому +4

      The Arduino and Processing applications share a lot of DNA, well spotted!

  • @simoncoupe8294
    @simoncoupe8294 Рік тому

    I just discovered you and have binged almost all of your content already in the last week or so. Safe travels and I'm stoked to see where Insignia goes.

  • @kaawan3201
    @kaawan3201 Рік тому +22

    I'm happy that you included Godot in your list. After trying Unity and Unreal, and then Godot, i found that Godot feel more """natural""" ie : GDScript is really close to Python, wich itself is somewhat close to readable text, and the language is quite forgiving, don't worry about ; or }, and the fact that godot is an all in one program, just a .exe and here you go ! and while godot is still young, the user base and content creator base is rapidly growing !

    • @captainnoyaux
      @captainnoyaux Рік тому +1

      Engine seems awesome but I wouldn't want to work with python for anything more than 500 lines of code project

    • @QvsTheWorld
      @QvsTheWorld Рік тому

      For me python feels like writing without . and capital letters. The : and { characters helps structure the code and make it easier to read.

    • @kaawan3201
      @kaawan3201 Рік тому +1

      @@QvsTheWorld GD Script allow for a bit more type controle, it's optional but you Can set types on variables or add what IS being returned by the functions

    • @fauxshowyo
      @fauxshowyo Рік тому +4

      @@captainnoyaux it's not python, it's just made to look like Python. Also C# is fully usable in Godot, the main reason people still go with GDScript is because most tutorials for Godot will be explained in GDScript so it's better to use C# once someone has experience with it.

    • @captainnoyaux
      @captainnoyaux Рік тому

      @@fauxshowyo oh ok ! Just like you could use JS for unity

  • @xegames6491
    @xegames6491 Рік тому

    I've considered for a long time starting my own devlog and video game development channel. You've inspired me to do this as my new years resolution, so thank you!

  •  Рік тому +6

    As a programmer... it's more intimidating for me the art part of creating a game, making consistent graphics that look good 😅. But I've been learning a lot from your videos.

    • @bria9143
      @bria9143 Рік тому +2

      Im an artist that cant program so i understand lol

  • @bobbob9821
    @bobbob9821 Рік тому

    Game programming became easy once I realized it was basically just routing data into prebuilt properties and pulling from those properties. All the hard stuff, such as where your player is in space is already solved for you through built-in functions and variables.

  • @arm.arthuria
    @arm.arthuria Рік тому

    Hi I'm Arm, I'm Thai living in Thailand. I start to learn to development for a week and but it too hard for someone who never know about game engine and programing like me, you video help a lot, I still have many question about game development maybe we can talk about that or if you want to know anything about Thailand and hope you will like Thailand.

  • @vahistar
    @vahistar Рік тому +1

    Hi!
    You helped me a lot with your tutorials!
    I am so thankfull to you

  • @TinyLyra
    @TinyLyra Рік тому

    Hope Thailand is awesome for you! So exciting to hear what’s ahead for the channel I’ve greatly enjoyed the time I’ve spent subscribed and am looking forward more videos in the future 😊 My question would be how much if any of Insignia had you designed prior to beginning implementation, and looking back now is there anything you would have considered more/planned differently? Bonus question on pixel art: any tips on wrapping your head around the top down 2D perspective? Your characters have a lot of depth to them which I think makes them read in an extra appealing (many of them very cute) way that I would love to understand more. Happy New Year 🎉

  • @benjaminramos1526
    @benjaminramos1526 Рік тому

    Very amazing content bro, bugs!

  • @zyrohnmng
    @zyrohnmng Рік тому +2

    For me what is so overwhelming about getting into game development is getting the assets. So much time and effort is required to learn how to develop artwork, asset models, etc... and for me that is always my blocker. For me, it's not the programming that's daunting
    How did you go about tackling that?

    • @AdamCYounis
      @AdamCYounis  Рік тому +1

      I grew up loving drawing and animation and music, and I spent probably thousands of hours as a kid on those things before I even wrote my first program.
      So in that sense it's hard for me to say. My personal take is: if you have no natural interest in the creative aspects, consider joining up with someone who does. There are so many artists out there dying to work with a programmer to bring their ideas to life.
      I say that only because those skills really need to be enjoyed in order to spend the time getting good at them. If they're a chore, it might not be worth it.

  • @LemulRichardson
    @LemulRichardson 7 місяців тому

    Could we hear about Taleworlds’ Mount & Blade 2: Bannerlord? 22:08

  • @mitch761
    @mitch761 Рік тому

    Wow It certainly has been a while, love the haircut 👍🏾

  • @Gyozamang
    @Gyozamang Рік тому +3

    Even though there's plenty of beginner tutorials for C# and unity, I feel like you would have a good approach to explaining what youre doing and why. I think you've got a good idea and scope what newbies know and dont know. So your approach could be really unique even though "the beginner" concept as a whole has been done so much.

  • @specterent
    @specterent Рік тому

    I love Adam's work, but I've come to realize that I have to watch his videos several times. Not his fault, but his video presentations always have a Bob Ross vibe to them, so you are listening and suddenly feel yourself drifting off to sleep while watching them.

  • @johnnylouweret3570
    @johnnylouweret3570 Рік тому +1

    I just got started with Godot 4, will you try it? I prefer it over unity right now.

  • @jeanmakesgames
    @jeanmakesgames Рік тому

    Serious question here: why do you want to go for a pusblisher signing? You already have an audience that's is large enough, so insigna on release will surely be selling at least at 30k copy, so what's the publisher could bring to you that you miss? 🤔🤔

    • @AdamCYounis
      @AdamCYounis  Рік тому +1

      Up-front funding for a team to help me finish faster, distribution, localisation, marketing, etc. If a Kickstarter somehow paid for all that, then maybe I could do away with a publisher, but I think they'd definitely make it easier.

  • @growlerpig
    @growlerpig Рік тому

    have you considered PICO-8 as an introductory platform? I teach intro game dev and in the past I used Processing, but this year I went for PICO-8 and it seems to be working fine... there are pros and cons for both options, not sure where exactly the balance falls

  • @carrievesey3399
    @carrievesey3399 Рік тому

    Might be a bit late to the comments but I would appreciate any advice you guys have got for me. I have been starting out in the pixel art/ game dev world but been focusing mainly on pixel art and have done a little bit of basic coding like character movement. I have a pretty solid idea of how I want my game to be but am struggling to find tutorials on specific game mechanics I am trying to achieve. I'm not sure if I'm looking in the wrong places or whether I need the full understanding of coding at a base level before I can properly attempt specific mechanics. Sorry for the long comment and thanks for reading 😅 can give any additional context just trying to keep this as short as possible

  • @qooqooify
    @qooqooify Рік тому

    Greeting from Thailand , you'll love our street food :)

  • @eraydemirel721
    @eraydemirel721 Рік тому

    Hi Adam, could you describe how to make Backbone pixel art game? Have you checked it?

  • @_eliari
    @_eliari Рік тому

    20:44 Thank you

  • @Nomedeusuariodoluiz
    @Nomedeusuariodoluiz Рік тому

    Thanksss!

  • @cyanuranus6456
    @cyanuranus6456 Рік тому

    CopperCube 3D Being Written in JavaScript, Torque 3D Being Written in All Mostly C and Tiny Portion is Written in C++, GameMaker Studio Written in C# Now LightWeight Java Game Library Written in Java

  • @gunting
    @gunting Рік тому +14

    Ever since their switch to subscription, GameMaker has been taking a jab left and right as if they have become sort of "Demon" that everyone has to beat up and be vanquished from this earth. Nevertheless for adventurous people who don't mind with the 'subscription' tag, I suggest you to try it. They have added so many big features updates yet nobody talks about it.

    • @TheSaintsVEVO
      @TheSaintsVEVO Рік тому +1

      Such as?

    • @gunting
      @gunting Рік тому

      @@TheSaintsVEVO Feather, Rollback Multiplayer

    • @naelpontes8444
      @naelpontes8444 Рік тому +2

      They've recently made a wonderful update to arrays and strings which are essential things for programming. They're very committed to bring even better updates in the future, ever since 2.3. The subscription really sucks, but honestly you only need it when you want to distribute your game.

    • @cyanuranus6456
      @cyanuranus6456 Рік тому +1

      One Day. I'll Wrote Lots of Internet Game Engines in My Favorite Programming Language. "Cython". (C and Python Combination). Without Help of Python and C++

    • @cyanuranus6456
      @cyanuranus6456 Рік тому +1

      I'll Promising Myself

  • @DigitalinDaniel
    @DigitalinDaniel Рік тому

    Even this is too complicated for me I guess :^) How do you even know what to type? The problem with tutorials is that they just tell you what to type, they don't tell you why... you basically just copy-paste without reason. Then as soon as they stop telling you what to say you're dead in the water.
    Even in the sketch thing, it didn't explain or give a lesson or anything you just started typing?

    • @AdamCYounis
      @AdamCYounis  Рік тому +1

      The two courses I linked have lessons that explain the absolute basics of code, what the words and symbols mean and how to use them. I was just demonstrating how quickly you can get something going from a blank document.

  • @empireempire3545
    @empireempire3545 Рік тому

    Ide doesnt turn code into application. Thats the job of the compiler.
    Ide is a glorified and usually overwheight, sluggish text editor.

  • @Addych
    @Addych Рік тому

    Its my dream to be a game dev, but im so afraid that i wont get a job.

  • @latiniux
    @latiniux Рік тому

    Good luck in Thailand

  • @LaniakVol
    @LaniakVol Рік тому +1

    Godot Engine.

  • @cyanuranus6456
    @cyanuranus6456 Рік тому

    I'd Rather Like 3D Online Game Engines Only. And Written in Interpreted Programming Language and C Programming Language. Not C++

  • @fauxshowyo
    @fauxshowyo Рік тому +1

    It's worth noting that Godot has been getting rather large investment rounds, and it's well into the open beta testing for 4.0 which when released will pretty much put it on equal footing to Unity in terms of 3D dev (and still better of course for 2D). So the main difference between choosing Godot or Unity will pretty much be if someone wants to release immediately on Switch etc, but honestly that seems like a big task for a first few projects.

  • @sxfria
    @sxfria Рік тому +3

    i hope "getting into game dev" becomes a section in your channel just like pixel art class. you're the only online person i've found so far whose explanations i understand and i want to keep learning from you as much as i can!! ty!!

  • @student-yr6xn
    @student-yr6xn Рік тому +1

    Bro please tell me. What you use for your pixel art games or animation

  • @ThePixelExpedition
    @ThePixelExpedition Рік тому +2

    I'm glad to see your recommendation of Javascript and Processing. I've been digging for months looking for a solid place to learn code before taking the big step into working with engines and game development at large.
    Good luck in Thailand, Adam! Catch you on a future stream!

  • @Drax18Music
    @Drax18Music Рік тому +1

    I'm a senior front end developer with the abilities necessary for my job (I use Angular with TS, etc.), and a few weeks ago I wanted to learn how to make pixel 2d games. Fortunately, when I moved to unity/c# following those experiences, the code there had a ton of similar things. It is very "weird" to observe how much simpler it is to pick up a new language after learning one, especially if their coding systems are comparable.

  • @nash8909
    @nash8909 Рік тому +2

    Dude, thank you so much! This is super helpful and inspiring

  • @thefaultyones952
    @thefaultyones952 Рік тому +2

    this is going to be very very useful indeed

  • @michaelwallace9461
    @michaelwallace9461 Рік тому

    Only been tinkering with game dev for little over a year on and off. Started with learning python through Udemy to help with job prospects, and now I am working in pygame lol!

  • @sixiangyang
    @sixiangyang Рік тому

    Teaching Engines(Godot ,GMS, UE U3D ) and Pixelart will be the most welcome channel.

  • @BUBBLEEEEEEEEEEEEEEEEEEE
    @BUBBLEEEEEEEEEEEEEEEEEEE Рік тому +1

    I’m about to ask the dumbest question
    Should I make my game on pico 8

    • @AdamCYounis
      @AdamCYounis  Рік тому +3

      Depends on what you want out of it. As a hobby, there's nothing wrong with making a Pico 8 game. The possible player base would be definitely smaller than most other platforms though...

    • @BUBBLEEEEEEEEEEEEEEEEEEE
      @BUBBLEEEEEEEEEEEEEEEEEEE Рік тому

      👍

  • @sjoervanderploeg4340
    @sjoervanderploeg4340 Рік тому

    Haxe has Flixel, which is pretty good for making games!

  • @handmadegamesdev
    @handmadegamesdev Рік тому

    First, this was a great video. You gave good, level-headed advice. I have only recently come to gamedev, but I have programmed for the web since 2015. I did not go to school for computer science, but I was fortunate enough to have access to good learning resources and mentors when I started. I still remember well how overwhelming programming can be -- it is often made more complicated than it needs to be.
    For those interested in learning how to program games, it is a good idea to learn with as little friction as possible. I want to add that there is a lot of value in learning how to program for games using a language like C or even a new one like Odin -- my favorite -- though there are more resources for programming in C online.
    As this video mentions, you can learn to program by making games. Start with the basics of programming, then practice in the context of making games.
    Regarding C++, it is widely used for programming games, and it is a more complicated language, but it COULD be simpler if you had a good teacher to guide you. Handmade Hero is an excellent example of programming a game from scratch using C with a small subset of what C++ offers. The trick is finding good examples of simpler code.

  • @ЮрийКузнецов-ъ5ь

    almost a month i'm watching your channel and it inspires me a lot to become a game developer. Thanx for your work! You are definitely high-level soul that helps people in this world! God bless you to succeed with your projects!

  • @jweare333
    @jweare333 Рік тому

    Such a great video! I’ve never heard of Processing before and I teach high school computer science. It looks like a really awesome tool. Lots of great information here. I’ll certainly be sharing this video with my students.

  • @116yony
    @116yony Рік тому

    Great video. I've been wondering myself how to start making games and this seems like a good starting point. What about if I want to start with something like blueprints? What do you recommend in this case?

  • @NytetheDevil
    @NytetheDevil Рік тому

    hello adam! thanks for your contents. i wanna know if you recommend udemy courses?

  • @bravoslab
    @bravoslab Рік тому

    very inspiring content, Sir!!

  • @Raaawrrrrr
    @Raaawrrrrr Рік тому

    Hi is this relevant to a person that would like to be a junior game programmer, not an indie dev?

    • @Raaawrrrrr
      @Raaawrrrrr Рік тому

      Also, I should say that your explanations are great and that you got yourself a new subscriber. Thank you and good luck on your projects.

    • @AdamCYounis
      @AdamCYounis  Рік тому

      I think so, yes. The skill overlap is very similar, and I would especially recommend this path for visual learners. There are other more traditional paths forward if you're comfortable just working with a text editor and compiler, but these environments like Processing are really easy to just get something going with lots of visual feedback and little setup overhead.

  • @copaceticobserver
    @copaceticobserver Рік тому

    Maybe...

  • @p_ecora6647
    @p_ecora6647 Рік тому

    Hell yeah

  • @omle8492
    @omle8492 Рік тому

    :)

  • @BlonsTheMap
    @BlonsTheMap Рік тому

    I will note that processing, while pretty simple, will take a lot of effort to do any collisions or animations or anything like that.

    • @AdamCYounis
      @AdamCYounis  Рік тому +1

      For 2D projects, writing a simple flipbook animator for sprites is super easy. And for sophisticated physics and collisions, there's always the Box2D library.
      But if you really need those things, that's where I'd say you're almost ready for an engine like Unity.

  • @griff424
    @griff424 Рік тому

    what do you think about following tutorials step by step is it waste of time or good sources to learn from

    • @AdamCYounis
      @AdamCYounis  Рік тому +1

      It depends. Some tutorials are extremely specific and precise, like understanding mathematics formulas etc, you should just follow or you'll get it wrong.
      But if it's creative tools, and you're learning technique, I think it's okay to experiment as you're following along so that you can get a better understanding of the purpose of each step.