Why I'm Glad I Didn't Use Unity

Поділитися
Вставка
  • Опубліковано 26 січ 2025

КОМЕНТАРІ • 1,4 тис.

  • @DaFluffyPotato
    @DaFluffyPotato  3 роки тому +547

    UA-cam is kinda dumb. I guess they’re gonna promote this until it gets a million views or something.
    This video was very poorly worded and most people missed the point (even people who think they agreed with me). I've just put out a better video explaining my opinion on the matter:
    ua-cam.com/video/TELHwCtvfFA/v-deo.html For those of you coming from CodeMonkey's reaction, his reaction has a cut up version of the second video that doesn't make much sense out of context. I recommend actually watching the video I linked.

    • @etopr4986
      @etopr4986 3 роки тому +6

      Im not hating...but if you used pygame to make a 2d game thats literally lowest level programming possible. Thats arguably easier than a traditional 3d engine.

    • @TechOrionater
      @TechOrionater 3 роки тому +12

      @@etopr4986 What do you mean by low level?

    • @TechOrionater
      @TechOrionater 3 роки тому +16

      @@etopr4986 Do you mean high level? Btw I'm not writing this to be rude. But isn't a low level language like assembly or machine code? High level would be like all the known languages. Well from what I researched anyway.

    • @etopr4986
      @etopr4986 3 роки тому +9

      @@TechOrionater I mean low level PyGame is literally just moving 2d sprites around its beyond simple. Its like really baby level "engine".

    • @etopr4986
      @etopr4986 3 роки тому

      @@TechOrionater There are two different kinds of low and high level, in this case I dont mean close to hardware I mean not complicated

  • @shashikanthp3145
    @shashikanthp3145 4 роки тому +5030

    *This guy at 12:* Making games
    *Me at 12:* Slowly closing the fridge to see the light turn off

    • @herre3147
      @herre3147 4 роки тому +70

      This joke is so overused it's not even funny

    • @shashikanthp3145
      @shashikanthp3145 4 роки тому +215

      @@herre3147 well 12 people actually think its funny

    • @herre3147
      @herre3147 4 роки тому +53

      @@shashikanthp3145 Good for you, but that doesn't mean it isn't overused. On any video where someone does something impressive at a younger age you see this joke at least 3 times in the comments.

    • @hbgkev
      @hbgkev 4 роки тому +123

      @@herre3147 It was funny and the first time I saw it mate

    • @Z1vx_
      @Z1vx_ 4 роки тому +22

      no but its true i was always fascinated at how the lights of the fridge turned off and clicked when you were about to close it

  • @too-many-choices
    @too-many-choices 4 роки тому +1814

    “The game time limit wont matter if I make the game.”
    beeg brain

    • @bophi_true
      @bophi_true 4 роки тому +20

      *CHONKY BRAIN*

    • @jumper-w124
      @jumper-w124 4 роки тому +6

      i don't really call that as a big brain motive it is more likely that he's wise.

    • @_.-.
      @_.-. 4 роки тому +50

      But It literally doesn't matter?
      "Videogame time is over, Timmy"
      "But moooom, I made this game"
      "Cool beans, So?"
      "Limit doesn't count"
      "Are you playing a game?"
      "...yes"
      "Then as I said before, videogame time is over"

    • @salmon4402
      @salmon4402 4 роки тому +24

      Just say you're play testing your game to find bugs, then it makes it sound like you're working on it rather than just playing it.

    • @_.-.
      @_.-. 4 роки тому +10

      *P L A Y* testing

  • @brusch1553
    @brusch1553 4 роки тому +3842

    Exactly! That's why I chose Assembly.

    • @teasauce3608
      @teasauce3608 4 роки тому +189

      LOL, one of the best comment here.

    • @118andrey
      @118andrey 4 роки тому +480

      Bruh why not just reinvent the whole binary system and program with 0 and 1s

    • @brusch1553
      @brusch1553 4 роки тому +350

      @@118andrey i dont like 1s, i think I'll go only 0s

    • @sephirothcloud3953
      @sephirothcloud3953 4 роки тому +70

      Stopped the video at 2:00 for looking at "reinventing the wheel" comment but yours is better :D

    • @caio-jl6qw
      @caio-jl6qw 4 роки тому +68

      I made gta 5 using binary

  • @julianlanty2066
    @julianlanty2066 Рік тому +84

    2 years later and we can say with 100% certainty that you made the right choice after the unity price change

    • @zz-ly4qd
      @zz-ly4qd Рік тому +2

      Price is not d issue. It's learning & solving problems . Unity is for lazy people. It cannot run at every devices properly . Heavy resource taker .

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

      @@zz-ly4qd it is heavy, that's true, but most computers can Run Unity just fine, while it does take a lot of memory. it's totally worth it, the software itself is amazing, but I don't think it's right to say unity is for "lazy people" since programming itself requires a lot of work, regardless of what domain or field of it you choose, wheather that be AI,gamedev,webdev, etc....

    • @codrfheverything2954
      @codrfheverything2954 9 місяців тому +2

      ⁠@@zz-ly4qdyou just disrespected everyone who uses unity even though you still have to put work into it like mabey I just want to make a game like how is it lazy to make a game your python ect: is making an engine and a game , so what ? how is it lazy to make a game

    • @codrfheverything2954
      @codrfheverything2954 9 місяців тому +1

      Unity fixed their price btw ( not trying to contradict your comment since it was a while ago though )

  • @jacobhaig2372
    @jacobhaig2372 4 роки тому +2321

    Your title should be, "Why I'm Glad I Didn't Use A Game Engine"

    • @spadenn_
      @spadenn_ 4 роки тому +440

      He gets more clicks by putting Unity in the title

    • @aodoemela
      @aodoemela 4 роки тому +90

      Yh unity is better for views

    • @MohammadFaizanKhanJ
      @MohammadFaizanKhanJ 4 роки тому +66

      Yeah exactly! But unity keyword can bring more views:) the reason I watched the video

    • @TheDiner50
      @TheDiner50 4 роки тому +31

      Unity is the de facto game engine. Beginners to Pro's. Indies all the way up to more or less AAA. (not sure about AAA)
      It is like the main one that the business model was to give the engine tools to costumers at a reasonable price. Or you go with Source or Quake and make a mod out of a other game on the market.
      Totally acceptable title. Like he said this decision began YEARS ago. Better tittle. "Why I'm Glad I Didn't Use Unity or made mods for games"
      And instead focused on data science instead of game making tools.

    • @wils35
      @wils35 4 роки тому +11

      @@Kednems You would to. Its the way of youtube now. I do no agree with it but how it is. We should blame youtube algorithms or ourselfs.
      Clickbait is annoying, it is like prices in shops, why be $1 when you can look cheaper and better with 99cents

  • @zcrib3
    @zcrib3 3 роки тому +322

    Every proper craftsman needs to understand his tools. He doesn't need to recreate them for every project. So you have a point in not just accepting the magic of abstraction but not using a set of tools means you don't consider time a significant factor. A frame is both supportive and inflexible. Its usefulness depends on the situation.

    • @binarium4376
      @binarium4376 3 роки тому +16

      All the people here are professional essay writers

    • @EelcoHillenius
      @EelcoHillenius 3 роки тому +10

      "A frame is both supportive and inflexible" great quote!

    • @DFPercush
      @DFPercush 3 роки тому +5

      @@EelcoHillenius That's a pretty good quote, but I would add "and open source is a welder"

    • @cvig1075
      @cvig1075 3 роки тому

      @@LegendLength hes getting stronger

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

      ​@@EelcoHilleniusThat's indeed a good point!

  • @buildtools9464
    @buildtools9464 4 роки тому +772

    The best option is learning low level development for fun, and using that knowledge on ready made libraries for quick development. There's no point on developing a library that already exists and has been well tested by millions of devs.

    • @unclerandy398
      @unclerandy398 4 роки тому +67

      I agree but hes also right that you learn a lot by developing your own stuff. Imma be sticking to unity tho.

    • @snooksv3172
      @snooksv3172 3 роки тому +5

      And you’ll find it easier to get a job if you know the current frameworks.

    • @tedbendixson
      @tedbendixson 3 роки тому +36

      @@snooksv3172 Compared to what exactly? Possessing deep knowledge of how those frameworks have to function under the hood? I'll take the person with real knowledge over surface level knowledge any day of the week. Any numbskull can memorize apis. A true professional asks why.

    • @tedbendixson
      @tedbendixson 3 роки тому +22

      Then again, I suppose they didn't promote Einstein when he was working at the patent office. Apparently he didn't put enough of his effort into memorizing the surface level details of whatever machines they were using at the time. He was too busy, you know, completely reinventing our understanding of time and space.

    • @NukeCloudstalker
      @NukeCloudstalker 3 роки тому +24

      There's plenty of reasons to developing a library similar to what already exists. Even the wheel needs to be reinvented all the time. Otherwise we'd use wooden wheels on everything, and that's just insanity.
      It really depends on whether you want to do work by having deeper understanding and making things from ground up with those base understandings, or if you want to get good at executing recipes.
      The first is more time consuming, but allows you extreme flexibility and potential for serious innovation / originality.
      The second is extremely efficient, and allows you to get complicated stuff done fast, as long as you stay within the territory the recipes are made to handle (otherwise you will need to create hacks / systems on top of systems etc., essentially working around the approach you've chosen).
      I would much rather do the first, assuming I'd get good pay and have the time needed for it - but the second is better for dishing out prototypes and new combinations of existing functionality.
      Basically the first is truly creative: Creating something from nothing. The other is recomposition, creating something from what already is, but in novel ways.
      Both are legitimate, but frankly I think the more follow the line of reasoning of the first, the better (or maybe we're just oversaturated with the second, I don't know). For me, I prefer the first, even though my current path is the second. I suppose the grass is always greener.

  • @wartem
    @wartem 3 роки тому +498

    I'm out in the desert collecting sand for silicon. I'm starting from scratch.

    • @JamesTsividis
      @JamesTsividis 3 роки тому +24

      Hahaha :D I hope you made your own buckets from scratch.

    • @wartem
      @wartem 3 роки тому +71

      @@JamesTsividis Of course. This project started many years ago when my first stone age tools were made. My first game will be completed.... soon.
      I'm so glad I didn't use Unity.

    • @redmist4963
      @redmist4963 3 роки тому +13

      @@wartem have you created electricity yet?

    • @redmist4963
      @redmist4963 3 роки тому +16

      What a dumb question. Uve already created a device, even though simple, capable of commenting on you tube. Hope you finish your game soon.

    • @fukcg00gle95
      @fukcg00gle95 3 роки тому +8

      Ultimate DIY. I salute you.

  • @CEOofGameDev
    @CEOofGameDev Рік тому +23

    this man was ahead of his time

  • @CDcodes
    @CDcodes 4 роки тому +308

    This topic is something I've been thinking about a lot lately. I've been working with Pygame for a while but recently started playing around with Godot. Starting with Pygame definitely allowed me to jump right into Godot and pick things up quickly, since I mostly understood how all the baked in features worked that I had to code myself previously. I think game engines are important if you're goal is to release a commercial game, as they drastically speed up the process, But building with Pygame has taught me a lot about Python itself and has absolutely made me a better coder (like you said).

    • @ZiRR0
      @ZiRR0 4 роки тому +3

      Godot and Python have a similar coding system right? Not the same, but similar...

    • @CDcodes
      @CDcodes 4 роки тому +6

      @@ZiRR0 GDscript (Godot's scripting language) is very pythonic.

    • @lmpstudio2321
      @lmpstudio2321 4 роки тому +6

      C++ is faster and better for games development

    • @robertwyatt3912
      @robertwyatt3912 4 роки тому +2

      It helps that Godot was built specifically to be user-friendly.

    • @rorymax
      @rorymax 3 роки тому +11

      @@lmpstudio2321 “better” is a subjective term. It is more performant though

  • @klutzyplays7165
    @klutzyplays7165 4 роки тому +152

    “Fine, I’ll do it myself”

    • @cbalan777
      @cbalan777 3 роки тому +11

      This. I have a dozen games ideas burning inside me. I want people to play them before I die and it seems like the only way is just to do it myself.

    • @hxdx6950
      @hxdx6950 3 роки тому

      @@cbalan777 lololol

    • @AyushGupta-wn6zd
      @AyushGupta-wn6zd 3 роки тому

      @@cbalan777 why don't you tell me? Man, I've been thinking of what my first *unity* project should be

    • @cbalan777
      @cbalan777 3 роки тому

      @@AyushGupta-wn6zd You mean tell you about the kinds of games I want to make? i have all sorts of ideas. Racing games, sports games, family games, adventure games, etc. I have more ideas than I know what to do with.

    • @AyushGupta-wn6zd
      @AyushGupta-wn6zd 3 роки тому

      @@cbalan777 yeah, anything

  • @smellyfrog2463
    @smellyfrog2463 4 роки тому +72

    I used to make games using scratch 2.0 because my parents rarely buys me any videogames, so I'd figured i can just make my own.

    • @kartoffel245
      @kartoffel245 3 роки тому +2

      What did you use to make? They oftlenly costs some dollars and I'm broke af

    • @iagoaraujo617
      @iagoaraujo617 3 роки тому +6

      @@kartoffel245 if you are talking about free game engine, you can use Godot(2d-3d), Unity(2d-3d)and Unreal Engine(3d)

    • @gavinthecrafter
      @gavinthecrafter 3 роки тому +2

      Yeah I used to use scratch too. I stopped using it because of the garbage new 3.0 update

    • @kartoffel245
      @kartoffel245 3 роки тому +3

      @@iagoaraujo617 thanks UwU

    • @slowcodersloth
      @slowcodersloth 3 роки тому

      @@iagoaraujo617 Free?

  • @pifopifo1000
    @pifopifo1000 4 роки тому +522

    Well, of course developing your own engine gives you more programming skills, but as a solo developer I prefer to actually make a game rather than programming the engine first, then the systems and game mechanics my game will actually have and then at least do the artwork. Seems rather useless developing your own game engine when there are plenty of them already on the market. Its whether you want to make a game or be background developer. Dont make game engines if you just wanna make games....

    • @Yolwoocle
      @Yolwoocle 4 роки тому +71

      I wouldn't really say it's developing an engine, it's more like building a skeleton for your game. In my opinion, it's a lot more fun and fulfilling, and it'll also be more flexible for the game. It also gives more creative opportunities and I learn more than by using pre made engines, which I find a bit limiting and hard to push what you want them to do sometimes.

    • @Tasaq313
      @Tasaq313 4 роки тому +32

      This is the problem everyone is missing. I myself would go with my own from scratch, I've been making graphics engine at my university for a long time and I surely can do impresive stuff, plus doing your own engine means much lower overhead and much higher degree of control. But then when I think about multi-platform (what if my PC game is successful and I need to port to Switch or even Android/iPhone?), the whole editor stuff for level development, animations are also a bitch to do from code, and the list goes on...

    • @Tasaq313
      @Tasaq313 4 роки тому +28

      @@pifopifo1000 I am in the opinion that every game developer should (or at least try to) write their own 3D engine before using existing one like Unity or Unreal. It gives a lot of understanding how everything works on lower level and helps making more concious decision when working with big engines in the future.

    • @pifopifo1000
      @pifopifo1000 4 роки тому +11

      @@Tasaq313 Luckily making games is just a hobby for me, since I have programming in school. But I will consider making my own game engine or at least trying in the future.

    • @skaruts
      @skaruts 4 роки тому +33

      I think you're conflating unrelated ideas here. Developing a game without a game engine doesn't require you to develop an engine yourself. You can't develop an engine out of the blue. You'll build a game as a monolithic set of intertwined functionalities that can't work on their own. You will code only what you really need to code, and you won't build libraries unless they're actually gonna save you time and effort. No game engine originated before a game, or from the making of a single game; they were the coalescence of experience and in-house libraries that grew from repeated code and eventually into a framework and then into an engine.
      I have a small framework of my own for roguelikes (built on lua/love2d), and its origins are exactly that. I never intended to make one. It just emerged naturally from a few years of writing the same stuff over and over.
      And then, btw, developing a game without an engine probably still means you'll be using a framework that also comes with a lot of what you need already done for you, like pygame, love2d, raylib, etc.

  • @MichaelHarto
    @MichaelHarto Рік тому +44

    This aged like fine wine!

  • @DaFluffyPotato
    @DaFluffyPotato  4 роки тому +156

    Slight correction:
    Raylib isn't just a graphics library. It's a slightly more extensive than stuff like Pygame because it's got a physics module.
    *Please actually watch the video before commenting.* lol
    People seem to miss the word “I’m” in the title. Going without an engine has benefited *me* in the long run. Obviously you usually can’t easily make the same 3D games without an engine, but 2D games are pretty close, which is fine for my use case since it revolves around learning and not just making games.
    Also, I specifically reference Unity in the title because that's the engine I was considering using early on.

    • @darakushitatamashi8837
      @darakushitatamashi8837 4 роки тому +5

      for me, it feels like that raylib is something between a graphics library and a game engine

    • @DaFluffyPotato
      @DaFluffyPotato  4 роки тому +7

      @@darakushitatamashi8837 there really aren't strict definitions as far as I know. It can be argued that Pygame isn't a graphics library either because it can play sounds.

    • @akshayazariah
      @akshayazariah 4 роки тому +2

      I don't like classifying MonoGame/Raylib, etc. as graphics libraries, when they clearly handle more. I'd classify them more as game libraries -- they don't handle higher-level stuff like libGDX so they're not really game frameworks, but they aren't as low-level as raw OpenGL/OpenAL.

    • @akshayazariah
      @akshayazariah 4 роки тому

      @NeoFrags It does, but it's really more of a library.

    • @aiyushg1769
      @aiyushg1769 4 роки тому +1

      How would you recommend to learn Raylib?

  • @bruh12458
    @bruh12458 3 роки тому +30

    "if i made games myself the limit wouldnt apply"
    sometimes my genius, it generates gravity

  • @lemonine907
    @lemonine907 4 роки тому +23

    I couldn’t agree more with this video. I started learning unity and after using it for a few months I decided to take a different route. Since I already knew a tiny bit of c# I switched to MonoGame. Couldn’t be happier about that decision.

    • @akshayazariah
      @akshayazariah 4 роки тому +3

      @Anton Karpov Yeah, it's not really a game framework, more of a game library so you still have to write your engine on top of that.

  • @faus585
    @faus585 4 роки тому +93

    This is a very interesting take! As someone pursuing indie game dev who is more of an artist, I'm more interested in the end product and looks, rather than each bit of functionality, so I think I will be taking the game engine route.

  • @GonziHere
    @GonziHere 4 роки тому +91

    Senior dev here. I absolutely agree with this point of view. I did write a simple renderer many ears back and because of it, I am much more able to grasp how the engines actually work, which helps with my understanding of optimizations and so on... Generally speaking, it's not a bad idea to write your own, stupid, barebone solution for almost anything before you'll use something that'll take care of it.
    Tangential to this is also the fact, that you'll typically use the engine so that you won't have to deal with transformations (for example) only to find out later that you'll still need to understand them ... and this goes for almost everything else.
    PS: I'm not advocating for people to write their own engines when they just want to just build a game, but it has its advantages. Maybe at least check the source code of Godot...

    • @bltzcstrnx
      @bltzcstrnx 3 роки тому +1

      You can even check Unreal Engine 5 source code to take a peek on how cutting edge game engine are coded. Keep in mind that it is a source available software, unlike Godot which is a free software. But if your point is to study an engine, I think it is good enough.

    • @GonziHere
      @GonziHere 3 роки тому

      @@bltzcstrnx Yeah, I work with UE. but Godot is simpler, less lines to read less separate code paths and so on... You need to understand how it works first - the simpler engine the better.

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

    People few days ago: we shouldn`t start with Unity
    DaFluffyPotato two years ago: "I did this before it became popular" :D

  • @nahfamimgood
    @nahfamimgood 3 роки тому +12

    its all some level of abstraction. use whatever level of abstraction gives you the amount of flexibility you need. no need to reinvent the wheel

    • @InfernityKnight
      @InfernityKnight 3 роки тому +3

      this is prob the best comment on this whole subject

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

    I had the exact same story as a kid! I was only allowed 30 minutes of screen time, but making games didn't count. I used game maker, but I spent hours and hours every day making games. Now I'm a professional game dev, and I couldn't be more grateful for that 30 minute limit when I was a kid.

  • @ProfitGoat
    @ProfitGoat 4 роки тому +30

    That's great that you found a way to get skills to find a job while making games! I also love Python! Another option if someone wanted to learn game engine and still get easily transferable skills is to make multiplayer games. The stuff you learn about networking is also very transferable! Great video!

  • @VeysTheGreat
    @VeysTheGreat 4 роки тому +29

    stuff like this completely depends on the kind of project you are trying to do and what your goal is lol, for smaller projects / to gain experience this makes a lot of sense, but if you're trying to get big stuff done you will need something that not only you but others can work with aswell

  • @zCalico
    @zCalico 3 роки тому +2

    Most people miss the point of the video.
    Using a game engine is not cheating, although easier, but the point of designing your own game from the ground up is that you will learn a lot more from it if you'd like to make a career out of game development (primarily coding) then this may be a better route.
    But for hobbyist game developers, Unity or UE are great ways to start out.

  • @Khrayfish
    @Khrayfish 4 роки тому +27

    Nobody ever talks about LOVE2D in stuff like this, it's a great little framework
    Edit: this is why you don't post a comment until you finish the video. Happy LOVE2D got some attention

    • @skaruts
      @skaruts 4 роки тому

      Both Love2D and Lua are quite underrated...

    • @skaruts
      @skaruts 4 роки тому +2

      @@hermes6910 Yes, but not for actual development.

    • @MrMaxRiley
      @MrMaxRiley 4 роки тому

      I was looking to use Love2D, but I think the names of the libraries are quite juvenile, which turned me off of the framework quite quickly.

    • @carpii
      @carpii 3 роки тому

      theres always gonna be platforms or libraries which are superior in some ways to the popular ones. But never underestimate the importance of community support.
      If you have a technically amazing framework but it has not been widely adopted, you're usually better off picking the lesser framework which has a huge support community.
      This way you're less likely to be that unfortunate first person to identify an obscure bug, and pretty much every problem already has a solution or workaround which someone else has figured out

  • @nerdyturkey312
    @nerdyturkey312 4 роки тому +82

    Totally agree! I used pygame to learn python. I enjoy the challenge of coding games etc at a more fundamental level. It's very satisfying to build a project from the ground up and get it working!

    • @gostaforsman6695
      @gostaforsman6695 3 роки тому

      Imma try this

    • @pitattataaboididid8682
      @pitattataaboididid8682 3 роки тому

      Lets be honest you cant actually make a huge game in pygame, use unreal or unity

    • @land_and_air1250
      @land_and_air1250 2 роки тому +1

      @@pitattataaboididid8682 99% of games aren’t ‘big’ games so most people probably don’t need to be too picky in that respect

  • @daboxguy3848
    @daboxguy3848 4 роки тому +15

    This ironically is made as I'm relearning python. I hope it won't be too difficult going the opposite way I came. Also that game (I think it's called super potato brah) has got excellent game design and a lovely colour palette. I love your games cause the remind me of old school stuff (pixel dungeon, card wars etc).

  • @pichade
    @pichade 4 роки тому +33

    i also agree on that ! working on a little game using CSFML while learning C made me more confident with the language in general, after manipulating tons of linked list for example

  • @CurryKitten
    @CurryKitten 4 роки тому +1

    Interesting point of view. I tend to think that if you can program in whatever language, and by that I mean you know enough how to string logic together to solve whatever problem, then you can turn your knowledge to most things. You can easily move to new languages, and whilst there's some specifics to game dev, or graphics api's it's all much of a muchness. So it then comes down to time - if you are talking 2D on limited platforms, then probably more so than if you wanted to go 3D on lots more target platforms. I think you'd spend so long writing something just to get the very basics running that unless you were really into it, use a game engine. You don't have to be completely limited by them though, you can have the best of both worlds and include your own native libraries if there's something the engine won't do

  • @decidev
    @decidev 4 роки тому +8

    You’re so inspiring man. I’ve started learning python + pygame in advance for my gcse work (starting course work next year) and put my ue4 projects on hold. So glad I found your channel (currently following your platformer tutorial)
    PS: your games are astonishing!

  • @TGameDev
    @TGameDev 3 роки тому

    True, it all comes down to goals. For instance, there was a small indie studio that had never made a game before that picked up game maker studio, made and released a game on steam in 27 days and sold like 1500 copies on it, which in turn helped fund their next game which has apx 67,500 sales (early access) with 95% positive on reviews, and they also owe the engine owners nothing since it was an $80 up front cost. But, here's the funny thing since everyone likes to bring up performance. They were able to get said game to run at 60 fps on a watch and smart fridge... so basically if you approach it the right way then there's absolutely no reason to 'need' to code your own engine. But, like you were saying, it really depends on if their goal is to make games, build up their resume, or just want the unique challenge of doing it (etc.).

  • @fragmentshader2878
    @fragmentshader2878 4 роки тому +5

    I enjoyed your video and can respect your opinion about whether to go with learning libraries or learning game engines.
    However, I've been using godot for around 3 years now and I've got to say it taught me so much I didn't know about programming. I think the limits are really into how in-depth you want to go with your learning, rather than the choice you make. I actually forced myself to learn vector math and shader development just because of my desire to be able to create a game that truly fits the vision I had of it. Since I'm working as a teacher, I noticed that nowadays people are willing to just search answers up on youtube about how to make what they want, and that's what makes them not able to make something truly original. That problem can even happen if you're learning to program from a library, since many people ask for help on stack overflow and just copy and paste code until it works in a frankensteinish way. I don't think I'd call that "learning" be it on a game engine or on pure coding from libraries.

  • @Kwabsii
    @Kwabsii 4 роки тому +7

    I mean, I learned how to code with the RPG Maker 2000 and got my job with the skills acquired in that engine (Which doesn't even support code). "Using an Engine" and "engaging with programming languages and design patterns" isn't mutually exclusive, I think.

    • @ryutoki
      @ryutoki 3 роки тому

      How did you get a job with those skills?

    • @flex9663
      @flex9663 3 роки тому

      @@ryutoki i think he is an office boy or something

    • @crapposter8201
      @crapposter8201 2 роки тому

      @@ryutoki Game design, art direction and a lot of similar skills can be learned on practically any engine. Some/most companies may want 'pure' programmers but people with mixed knowledge and assorted skills may come handy in many fields.

  • @lifeform106
    @lifeform106 4 роки тому +3

    The only problem with Pygame is there are a lack of resources for learning it. For web development someone can learn html, css, and JavaScript through tutorials then make own projects and make for friends then be a web developer. I can’t find any guide which place to go to for pygame. Which parts to focus on. It leads wasting lots of time on things that are unknown you should work on or not

    • @DaFluffyPotato
      @DaFluffyPotato  4 роки тому

      Web development is extremely unusual in how many resources there are for it. Also, I’m not specifically saying people should use Pygame. I was suggesting using *any* software to work from a lower level if you are considering working in CS.

    • @sevil2467
      @sevil2467 4 роки тому

      Have you checked the book " Making Games with Python & Pygame" by Al Sweigart?

    • @lifeform106
      @lifeform106 4 роки тому +2

      @@DaFluffyPotato The reason why there’s a lot of resources for web development is because it’s a very high demand skill.
      As for game development, I want to get in the game development and make beginner games and then start making more advanced games. But I don’t know exactly where to start. I don’t know if I should go from Pygame to unity or start from an engine.
      It seems like knowing a game engine is like using word press or wix to make a website but with html,css, and JavaScript someone can do more detail. Similar to game development.
      But I’m trying to find a place to start to go from beginner, to intermediate , to advance in making games or from small to big games

    • @lifeform106
      @lifeform106 4 роки тому

      @@sevil2467 I haven’t checked it. How far does it take you into it?

    • @channelnamegoeshere4707
      @channelnamegoeshere4707 4 роки тому

      For pygame I essentially just grabbed the documentation on what everything was and then went free tying to make stuff from scratch

  • @purringraven3648
    @purringraven3648 2 роки тому +1

    Normies: play games when allowed
    Legends: make their own games if not allowed

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

    This aged like fine wine

  • @FeelingShred
    @FeelingShred 3 роки тому +1

    "30 minute limit on games"
    That's brutal... not even me in my abusive dysfunctional violent household growing up had limitations to that extent. I had to ask permission for turning things on (which even at that time felt pretty humiliating already, kids are incredibly emotional aware, more than people think) but I never had a time restriction per se.

    • @FeelingShred
      @FeelingShred 3 роки тому +1

      another thing that is a myth (the meaning of the word myth is "false belief" have in mind) is the notion that "kids won't play outside if you allow them to play games all day"
      Not even ONCE that was the case with me. I would NEVER change a day outside in the sun, playing with my neighbors or riding a bike, for a day inside playing games, NEVER ever did that.

    • @FeelingShred
      @FeelingShred 3 роки тому +1

      so yeah, come to terms with the fact that your parents treated you like crap and don't feel like you have to give back ANYTHING to them, ever... that is for fools, that is another mechanism to keep people mentally enslaved... always have that in mind... feels lonely at times but eventually feels alright and then freedom pays off... you don't owe any of these people anything

  • @Limey8108
    @Limey8108 3 роки тому +5

    Thanks, this actually gave me a better understanding of where I should put my priorities. I want to go in computer science.

  • @samirsuleymanov2099
    @samirsuleymanov2099 4 роки тому +2

    As a 36 year old, I started with Godot and super happy about it. Already published 2 apps in a year.
    You can screw with a readily available tool (screw driver) instead of making one unless you enjoy the process of making tools. Apart from that, with readily available tools you are much faster.

    • @03urukhai76
      @03urukhai76 3 роки тому

      Are you using GDScript? How is it in comparison to C# and other languages. People who criticize Godot generally make harsh comments on performance of GDScript. Is it really that bad?

    • @samirsuleymanov2099
      @samirsuleymanov2099 3 роки тому +1

      @@03urukhai76 I have limited experience with C# (Unity). Never tried C# in Godot though. Performance-wise I heard C# is the winner, but GDScript is much easier, faster to write and more intuitive in my experience and it did a great job running my apps without humanly noticable lag in performance.

    • @slowcodersloth
      @slowcodersloth 3 роки тому

      Wow.

  • @arewenot
    @arewenot 4 роки тому +4

    i actually learned most of my programming skills thru game development but using a framework instead of an engine. Because going with low level frameworks makes you write a lot of boilerplate codes which improves not just your coding skills but also your problem solving skilld

  • @arceliepaloma8111
    @arceliepaloma8111 3 роки тому +2

    Thumbnail: Why Im Glad I Didn't Use Unity
    The Ad That Pop Up On My Screen: *Learn Unity*

  • @DevDoomer
    @DevDoomer 4 роки тому +3

    I love your videos so much, you inspire me a lot for learning coding and python, I would love to become such a knowing man like you! This is the most underrated coding channel I've known

  • @CFlandre
    @CFlandre 2 роки тому

    Something to consider:
    1) Not all engines are equal. Free and Open Source game engines, a-la Godot, serve as a nice middle ground for those developers wanting to jump into gamedev without being intimidated by the large amount of concepts that a developer has to learn all at once to do very simple things in frameworks. Engines (open source) allow you to get started very easily, while allowing more advanced developers to dig deeper in the engine and roll their own implementations of various tools if they believe their way is better. It's a nice middle ground.
    When I first began to write code, I used the LibGDX framework in Java, and the amount of time it took me to get something up and running was absurd. Not just because of the framework mind you, but because I was learning new programming concepts and paradigms all at the same time.
    2) There are some folks who just want to make games, and have no desire to pursue programming as a career, which is fine. Engines are probably for you, though I will say upfront: you WILL be limited in what you can do by your lack of programming knowledge.

  • @Gredran
    @Gredran 4 роки тому +15

    This isn’t universal advice.
    I know it works for you, but for people who can’t/don’t want to code EVERYTHING from scratch, the engines are good.
    You get more flexibility from coding everything sure, but for 3D itd be more trouble than it’s worth.
    I feel like many young people will be like, “wow I will listen and not get an engine!” And INSTANTLY be disappointed. I mean, they’ll be disappointed if they don’t spend enough time learning an engine, but you have better luck when things like physics are already packaged so you don’t need the extensive math for every last little thing.
    But glad it worked for you to switch.

    • @BananaMan6763
      @BananaMan6763 8 днів тому

      To be honest, all over the video the UA-camr makes it clear this is for specific people, not everyone. In the video he even said a game engine is probably best for you if you want to put as little effort as possible or are interested in the game development industry.
      I agree with you that this isn’t universal advice. But the thing is the UA-camr makes that clear.

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

    After almost 6 years of using a game engine as a hobby, I've finally decided to write my own game 'engine' for experience sake. With just a graphics library and all. Probably vulkan

  • @Forcoy
    @Forcoy 3 роки тому +6

    Im glad i chose love2d honestly
    I previously used a game engine and to be able to control the rendering more freely was a chore often. That went for most processes. I really chose love2d for the freedom im given using it.

  • @InfoDisco
    @InfoDisco 3 роки тому

    Great video, and I really agree with your rationale here. So many who want to get into game design end up just slapping-together premade and freely available Unity assets, the results are so void of any character. Although I'm further from completing my project due to my choice not to use a popular engine, there's a deep confidence involved with understanding how every element of the game's code works, from the ground up!
    Like a true sadomasochist, I'm currently working on a full 3D game engine (with dev tools) based off of GMK Studio 1.4. It's quite a challenge, but I love it a lot. Glad to see others are doing similar things! (:

  • @rodrigod5625
    @rodrigod5625 3 роки тому +9

    I learn use Unity 6 years ago I think was the best desicion because I have a job programming c# and kotlin ...

  • @hawshimagical
    @hawshimagical 3 роки тому +2

    i feel like i would get absolutely demolished if i even think about making my own 3d game engine, even if i was aiming for a computer science career. i would probably give up on games and focus on coding jobs. there is a good argument with how the faults of a game engines can be a road block, but it also works the other way where, a game engine can help railroad your decisions at times when youre feeling indecisive. option paralysis can really plague any kind of creative workflow

  • @keopaderb6690
    @keopaderb6690 4 роки тому +8

    Good advice. Keep up the great work!

  • @dicember92
    @dicember92 4 роки тому +24

    Very intersesting opinions! Hope to see others video like this 😎

  • @Shadow-bc5nr
    @Shadow-bc5nr 3 роки тому +3

    I used pure c++ and vulkan for implementing computer graphic concepts like light and skeleton animation. When we started implementing our games client on unity, I knew eveything and there was no need to learn stuff because I knew how stuff works inside engine.

  • @mastersanskartiwari
    @mastersanskartiwari 4 роки тому +4

    good and helpful video. already subscribed with all notifications on. keep up the good work.

  • @dusty2366
    @dusty2366 3 роки тому +1

    One of the things my game design tutor has been telling my class over and over is not to think of our skillsets in broader terms. Learning a game engine is good if you specifically want to get into game design, but learning to code instead can make you infinitely more hirable in much more diverse fields (and that goes for the artists in the class as well). He wants us to think of ourselves as digital designers rather than specifically game designers and to have that awareness of where the skills we pick up can be useful and not just limiting ourselves to a career in an industry we probably won't like. Very few people in my game design class actually want to work in the games industry any more, including myself, even if many of us still want to make games.

  • @hm4266
    @hm4266 4 роки тому +3

    This is very interesting video I didn’t know I need. I also started at 12 yo and was first trying Scratch, Corona SDK and pygame. But one time I tried Unity, and I just sticked with it because it seemed so intuitive, I’m not using half of the built in components now, since throw time I learnt and gain a lot experience, and I could say although engines usually have much more stuff done rather than doing stuff with graphics library, it’s a better option to start, because you’ll make your own systems later. But your video made me thinking of actually trying not an engine, like Monogame since it uses C# as well. So thank you very much for telling your story!

  • @ego-lay_atman-bay
    @ego-lay_atman-bay 3 роки тому +1

    I prefer to use scratch (or at least, scratch inspired) because it's easy to use, doesn't give you a game engine, but allows for much much more problem solving skills. I mean, scratch has so many limitations that some programmers can't stand, but I love scratch for the limitations. Over the years, scratchers have created amazing things, from online multiplayer to full 3d games, to pen font engines, and even a gameboy color emulator! (if you're wondering, pen is turtle graphics, and scratch is all 2d) The limitations is what makes scratch awesome.
    why did I write this on a video that has nothing to do with scratch?

  • @SteelSkin667
    @SteelSkin667 4 роки тому +4

    I'm in the "no engine" boat as well, although I'm mostly using Javascript. Plenty of options there as well: I like Phaser as a starting point because it has some systems built-in, but really starting from something like Pixi or Three is a great way to go. Hell, you can start making games using the built-in canvas API.

    • @panasonicdiet3691
      @panasonicdiet3691 4 роки тому

      I feel like with JavaScript you are limited on the canvas tag? I’ve seen phaser and three.js which are surprisingly really good for JS but other than that, surely the canvas tag is only efficient for a simple snake game?

    • @SteelSkin667
      @SteelSkin667 4 роки тому +4

      @@panasonicdiet3691 Yes, making games using Javascript does mean that you are limited to a web browser, or a web view of some sort inside an app. I'd say that the main limitations of it isn't the canvas tag itself, but the performance of Javascript engines. It is an interpreted language, after all.

    • @theshermantanker7043
      @theshermantanker7043 3 роки тому

      The language that best supports making your own games entirely through code alone without an engine as of now is Java, which is currently the only language who's standard library grants access to OpenGL and the Apple Metal Graphics API (And is planning on Vulkan in the future I believe) without external libraries

    • @SteelSkin667
      @SteelSkin667 3 роки тому

      ​@@theshermantanker7043 Yes, Java is an incredibly versatile platform., and you also get a large choice of libraries to use if you want to skip the boilerplate. It's also my favorite language to work with in general.
      Now to be fair, if you are really into raw graphics programming you can also use WebGL inside the browser without any library.

  • @aslen3765
    @aslen3765 2 роки тому +2

    I'd argue that using python / pygame for game dev is about as easy as Unreal with C++ or Unity with C#

  • @dolalmoth
    @dolalmoth 3 роки тому +9

    Great video! One point I'll bring up as a counter argument is that building games from scratch can be pretty difficult for beginners. If someone's just dipping their toes into development, they may want to start with an engine to ease into the learning curve. That said, there is no wrong way to get started, I'm glad this method worked for you!

  • @diliupg
    @diliupg 3 роки тому

    I agree with your approach 100%. Best of luck to you in your future endeavors!

  • @FightLegacy
    @FightLegacy 3 роки тому +3

    AAA game dev here. skipping the engine is preferrable if you dont want to enter the AAA space as a game dev but as a solo or indie dev making your own is a waste of time. You'll feel greater personal ackomplishment but your customers dont care about how a game is made. 99% of the time a custom engine will look like shit next to an out of the box solution. Plus it wont provide any time saving shortcuts that solo devs really need.
    At the end of the day it's all about the final product. If you can take time or cost saving shortcuts to get that product released, go for it.

    • @DaFluffyPotato
      @DaFluffyPotato  3 роки тому +2

      Making a game without in engine isn’t even close to the same as making an engine. (Especially for 2D projects.)
      I can whip up the basic systems necessary for many 2D games in a day.

  • @rezapeace
    @rezapeace 3 роки тому +1

    What made you think of a mushroom shooting from its head? At 1:50

  • @tails_the_god
    @tails_the_god 4 роки тому +16

    Yeah I always felt this way was the best too BUT more complex

  • @Skeffles
    @Skeffles 4 роки тому +1

    This is a great topic and I definitely agree with your comment about transferable skills. I'm using monogame to develop my own engine and I find it so much more interesting to develop those systems rather than just getting games to work in someone else's engine.

  • @jaysanprogramming6818
    @jaysanprogramming6818 4 роки тому +14

    I ended up struggling too much with low level libs and haven't produced any good game with them. This was too frustrating to feel like an idiot all the time and being stuck with no idea how to solve the problem I was facing. I finally decided to try engines and ended up using GameMaker for nearly every project came to my mind. Of course, I don't do very complex games but I feel much happier since I've been using that engine. I'm less frustrated, the problems I face seem more manageable and I at least end up producing some stuff. I often find myself wondering how it works under the hood but I still find this black box approach much more rewarding than trying, often alone, to make sense of everything that is very low level, highly technical and convoluted. So I guess the approach depends of the person and some will find abstractions are a good thing.
    That is not to say you're wrong. I loved your arguments and reasoning. I just wanted to share my personal experience.

  • @tedbendixson
    @tedbendixson 3 роки тому

    I think many of the commenters who disagree, indeed many people who say you can't make a game engine from scratch or that it's impractical often conflate making a widely distributed general purpose game engine with making a game engine so you can make a specific game.
    If you already have an idea of a game you want to make, it's actually a very focusing kind of thought because it frames the design decisions you will make for your game engine.
    If you know you want to make a 2D game, then your game engine only needs to handle 2D graphics. That's much smaller in scope than a game engine that needs to handle both 2D and 3D graphics, as many commercial game engines do.
    The goal is not to build a general purpose tool for everyone. Rather, it's the exact opposite of that. You are building a tool for yourself, for your game, a tool that you intimately understand and can mold to your desires.
    Does this change when you add more team members? Sure. Of course, a smart person who built their own game engine probably wouldn't hire average industry programmers to work on her team. She would hire people with strong computer science backgrounds who themselves have built game engines and understand how they work. These people do exist, and many of them are excited to not have to work with third party engines.
    I built a 2D game engine from scratch in roughly one year of my spare time. I started in January of 2019, and by January of 2020, I had a 2D game engine that runs at 60 FPS drawing a game character on the screen, basically like a 2D platformer.
    During that year, I worked a full-time software job, ate well, and I always got two hours of exercise every day. My spouse also didn't leave me, and I was going snowboarding a bunch during the winter and still doing tricks off of jumps. I had to make very few lifestyle changes to accomplish this goal.
    It doesn't take nearly as much time as you think it does, and if you apply yourself, you will have something useful at the end of it. Most importantly, you will have learned so much more in the process.
    Just focus on making the game you want to make, and think of the "engine" as all of the stuff you have to do to make that work.

  • @georgii_chubov
    @georgii_chubov 4 роки тому +2

    After learning a programming, you can safely learn engines, because in many cases it is faster and easier to make a game on the engine.
    If you work in a team with someone or want to implement an unusual and complex game (like No Mans Sky, Minecraft, etc.),
    here you can already think in the direction of SDL 2.0, for example.

  • @jimbo5266
    @jimbo5266 3 роки тому +1

    I can't tell if my comment was lost or not, or if I accidentally cancelled it, so I'm making it again.
    This video would clearly be a lot more impressive if the game in the background was 3D rather than a 2D pixel art game.
    "No interest in 3D" seems strange for anyone interested in making games, especially considering 3D has been the standard for over 20 years, and it has only gotten easier and easier to do. Beyond that, 3D even makes many aspects of game development easier, including animation.
    Engines like Unreal are STANDARD now in game development. And not just low-budget indie titles like Final Fantasy 7 Remake or Borderlands 3, games I'm sure nobody here has ever heard of, but both were made in Unreal Engine.
    The main point of the video seems to be that people should just learn to be good programmers so they can get good programming jobs outside of game development. But programming in either industry can be soul-crushing for many. There are plenty of people who would rather have a different day-job and work on their own games on the side. Game engines certainly help them do that.
    The general tone doesn't seem to be that of a person that actually enjoys game design. It seems more like a person that just enjoys programming. There could be people with less skill in programming, but more interest in game design, art, modeling, etc., that would be able to make games that dwarf that of someone who merely thinks of games from the programming side.
    Of course a person should have programming knowledge to make games. But a key aspect of programming is to not fall in love with programming for the sake of it, but to use it as a tool. I had a good friend that often said a good programmer is a lazy one. They don't re-do work that has already been done well.
    In fact, issues in games like the Witcher and Cyberpunk can be traced to the developers not understanding contemporary engines and tools WELL ENOUGH, and instead re-inventing the wheel poorly. Cyberpunk 2077 was created in a proprietary engine, and we can see the results of that in wonderful glitch compilations. It doesn't even perform well, though they made it from scratch.
    As an independent game dev myself, my only wish would have been that I started learning Unity and Blender earlier, and gotten into 3D earlier, rather than resigning myself to only making 2D pixel-art games. 3D is a wonderful horizon, and game engines are there to let you get on with your vision.

  • @matthewexline6589
    @matthewexline6589 3 роки тому +3

    I'd like to give a shoutout to MonoGame, my framework of choice! Thanks to all who've helped to build and maintain it!

  • @cdavidcvalencia
    @cdavidcvalencia 3 роки тому +1

    If your aim is to be a coder AND isn't to make anything beyond SMALL 2D projects (probably even being just a hobby) and THEN get "regular software" jobs, then yes, you're absolutely correct, at the university I made my first games with C++ from scratch and that helped me a lot in my learning process.
    In any other scenario of game development, this is a horrible, horrible advice, for starters, you have to be a one man army (or have a small army made entirely of programmers that have roughly your same skillset), anyone that isn't a coder (sound engineers, artists, game designers) won't be able to get anywhere near your project (maybe if you make an editor just for that specific project which would multiply the project's completion time, and if you continue down that path, you're just making another game engine).
    This is the same as people saying that it's better to use low-level languages and avoid frameworks and libraries as much as possible, sure, you'll learn more (and that should be your starting point IF you want to be a coder) and it will certainly have better performance, but at some point you'll have to be practical, been there, done that and learned the hard way that reinventing the wheel is only useful when you just want to learn and experiment, but when you have to work in bigger projects with other people? it's usually not worth it.

  • @HE360
    @HE360 4 роки тому +13

    This reminds me of a video I made on my channel called "Why I like the BASIC programming language." I said some similar things.

  • @moonwatchereclipse5291
    @moonwatchereclipse5291 4 роки тому +2

    Thank you so much. I was wondering what I should start coding with and I've decided.

  • @rmt3589
    @rmt3589 Рік тому +6

    Imagine not having every project hit a dead end because their engine screwed them over. Can't relate.

  • @ammyvl1
    @ammyvl1 3 роки тому +1

    3:43 - Yeah, but now you've gotta learn to make an engine, which is NOT a trivial task without some sort of footing in game dev.

    • @mrjoyshorts123
      @mrjoyshorts123 3 роки тому +1

      You don't have to make a game engine . . . you can make a game using only code

  • @gslayer69
    @gslayer69 3 роки тому +7

    This guy tells me to make a whole a$$ Game Engine while I still stuck at Hello World.

    • @baphomet8958
      @baphomet8958 3 роки тому +2

      Lul u havve such a loooooooooong Way to go Dude :D

    • @anaselsayed6378
      @anaselsayed6378 3 роки тому

      Good luck BRO

    • @antivert
      @antivert 3 роки тому

      Just use Unity, especially if you're interested in actually being paid for your work. It's no less of a programmer's paradise than PYGAME of all things lmao. I've been a "real" programmer for more than 25 years, and yes in pygame for a while, and I use Unity. It's amazing.

    • @flex9663
      @flex9663 3 роки тому

      @@antivert are game engine developers no longer needed :'(

  • @fairdiscussion8258
    @fairdiscussion8258 3 роки тому +1

    Would you consider doing a video discussing your perspective on the argument "Python isn't for game development, because it's not efficient enough". I'd really like to hear your experienced perspective on the matter, I'm sure others would too.

    • @DaFluffyPotato
      @DaFluffyPotato  3 роки тому

      I said that I was making a video along those lines at the end of this one

    • @fairdiscussion8258
      @fairdiscussion8258 3 роки тому

      @@DaFluffyPotato Forgive me, I'm not an idiot at all. I'll just blame some kinda of auditory scotoma lol Looking forward to it

  • @mrjoyshorts123
    @mrjoyshorts123 3 роки тому +2

    So many people in the comments are missing the point he was trying to make 🤦‍♂️

  • @golevka
    @golevka 3 роки тому

    This was a really informative and helpful video for me, thank you for the upload!

  • @Tomsudobrej
    @Tomsudobrej 4 роки тому +11

    And for 3D there's Panda3D programmable with Python

    • @skaruts
      @skaruts 4 роки тому +1

      And Ursina, which is based on Panda3D, iirc.

    • @wateryagarvideos5186
      @wateryagarvideos5186 3 роки тому

      And Lua has Love2D with the Love3D extension.

  • @domcpp
    @domcpp 3 роки тому +1

    I used to develop 3d games without any engine, just C++ and DirectX 9 and some multiplayer library (I didn't do that from scratch). I think this helped me alot but now I do use a game engine (Unity) just because it takes too much time without one. When I was 13 years old, this didn't matter much but now....

  • @babyyoda6721
    @babyyoda6721 3 роки тому +10

    Honestly unity is a good game angine as it’s very strong and gives you lots of options.

  • @TimeLords910
    @TimeLords910 3 роки тому

    unity can be used for vrchat to export your avatar if you made one and can be imported to vrchat unity can be used for animations same as blender

  • @darkmattergamesofficial
    @darkmattergamesofficial 4 роки тому +20

    For 2D, sure, have fun with that... Solo developer in 3D would have a hard time without an engine. By the time you reinvent the wheel you will already be burnt out. No thanks. Maybe there are some individuals out there who are very skilled and have a high tolerance for that kind of thing. Not me, I'd rather get started on the actual game right off the bat and save months of time and money.

    • @warpspeedscp
      @warpspeedscp 4 роки тому

      Still pays off to some degree, fiddling around with lower level graphics APIs. I had a lot of fun with that stuff in college.

    • @notnullnotvoid
      @notnullnotvoid 4 роки тому

      Not really. I've made 3D games without an engine, and it's not as difficult as it seems. The difficulty varies widely depending on what graphics features you want. If you are going for realism and need fully featured PBR and GI solutions for your artstyle to work, then an engine will probably save a lot of development time (though it will still take a huge amount of development effort to make the art assets and scene the levels/world in that style). But if you're going for something simpler, like a more classic forward-rendered clean art style, or something very heavily stylized, it's often easier to make it yourself than try to shoehorn it into an engine designed for realism. At least that's been my experience.

    • @darkmattergamesofficial
      @darkmattergamesofficial 4 роки тому

      @@notnullnotvoid I could see that. The graphics are certainly a big factor. For me I like the engines because it is easy to rapidly prototype ideas, then move forward if they are interesting.

  • @zyugyzarc
    @zyugyzarc 3 роки тому +1

    the problem with python that i and many others have experienced is its speed. i too am a aspiring developer in python, and am looking for ways to make games in python. what is your solution to speed up the code execution?
    cython is one way but isnt that great as you have to use static ctypes to get a performance boost and jit doesnt seem to help a lot either.

    • @DaFluffyPotato
      @DaFluffyPotato  3 роки тому +1

      First of all, this video isn’t about Python. And second, I just write well optimized code when necessary.

    • @zyugyzarc
      @zyugyzarc 3 роки тому +1

      @@DaFluffyPotato yeah, i know this video isnt about python, i just had a question in general. thanks for the reply!

  • @GameDevNerd
    @GameDevNerd 3 роки тому +3

    Using pygame is not building games from the ground up ... you're using a (very highly abstracted) interpreted scripting language to move sprites around and toggle them. Pygame essentially is a tiny engine without many features. A real graphics library is something like DirectX or OpenGL. If you want to build your own engine, that's where you start, not with pygame lol. This just seems like you're trying to justify sticking to pygame and not learning about the amazing, feature-rich engines out there today that can outperform and outclassed pygame in virtually every way. Everything pygame can do is encapsulated within a tiny piece of Unity's 2D APIs and C# can either be intermediately (IL) or fully compiled into machine language. The guys who wrote pygame literally did all the low-level work for you, probably with OpenGL, and created the nice, high-level wrappers and APIs for your python scripts to trigger. Pygame is definitely cool, but it's not really viable for large commercial game projects and you're nowhere close to doing any sort of low-level programming or engine architecture lol. Write a good OpenGL or DirectX engine, then I'll pat you on the back and say "Well done, son!" ... if your video had been encouraging people to learn D3D or OGL and experiment with building small engines I would have fully agreed ... that's how I got my start in game dev, and I ended up falling in love with C# wrappers like SlimDx and SharpDx for almost 1:1 mappings of DirectX functionality in the C# environment. The things you can learn from that are invaluable, and a lot of companies will hire people with that sort of knowledge. But most of the game industry wants people proficient with Unity and Unreal.

  • @zoltankurti
    @zoltankurti 3 роки тому

    Basically the same arguments apply to learning C++ instead of Python. And Vulkan instead of OpenGL, if you are prepared to write like 900 loc before a triangle appears on your screen. After the boilerplate it isn't that much worse, so it gets better.

    • @DaFluffyPotato
      @DaFluffyPotato  3 роки тому

      Except it’s easier to get a job with Python than C++. The language used wasn’t even related to the point I was making though.

    • @zoltankurti
      @zoltankurti 3 роки тому

      @@DaFluffyPotato it depends on what kind of programming job you are looking for. In some places one language is completely irrelevant and the other one is dominant, goes in both ways.
      It's easier to pick up python after c++ than the other way around, I saw it directly. I studied physics, so the courses weren't really programming oriented, I guess this is the reason they introduced python first, because it's supposed to be easy. The second language was C. Whoever learned python first had their butts kicked by the C course, not to mention C++. (There were exceptions, bit generally speaking python didn't seem to prepare them for C styled programming. But anyone who knew C/C++ from before university aced the python course.

  • @juma21347
    @juma21347 3 роки тому +6

    Thanks for your experience. That being said, I could summarize the video in:
    If you have a lot of time and want to build a lot of programming skills, dont use engines.
    If you just want to make videogames &&|| dont have much time, just use an engine. Turns out most people will choose last option for obv reasons

  • @jwastken8814
    @jwastken8814 3 роки тому

    You’re very talented man. I’m showing my son all of your videos 👏🏾

  • @kingcrashplays
    @kingcrashplays 3 роки тому +15

    Is it weird that when I tried to learn python, I ended up dropping it in favor of the more verbose Java. Seriously, the lack of brackets, semicolons, etc scare me. I take comfort In Java and c#.

  • @reasonnotfound
    @reasonnotfound 4 роки тому +1

    I would say most of the games would not even benefit from custom engine. But at the same time I would say it's quite effective way to learn how to structure your code better.

  • @Player-ub9tg
    @Player-ub9tg 3 роки тому +7

    Fun fact: Rockstar created its own engine and they developed all games with their own engine. Even GTA 5 :)

  • @ccgamerlol
    @ccgamerlol 3 роки тому +2

    tl;dr, reinventing the wheel gives you a deeper knowledge, rather than just knowing how to use the tools already made for you

  • @Okuhno
    @Okuhno 4 роки тому +2

    I started with gamemaker, While it was great at first I ended up stuck in it. It abstracted so much away from me that when I tried using anything else I just couldn't wrap my head around it, took me a long while to break free.

    • @nathanlamaire
      @nathanlamaire 4 роки тому +1

      Well, with my 10-year GM programming myself, it really not abstracts many terms you would find in normal programming stuffs, especially when you are working with low-level stuffs, like 3D for example. GM packed quite a lot of low-level tools but easier to understand and get used to. I'd rather say Unity or Godot had changed too much of programming perspective in my opinion, because I don't have any problems working with other programming stuffs, but I stuck for very long when I working with Unity, which tie-in really hard with document-style layer engine, mathematical object-oriented operations, and ridiculously large libraries I had to learn.

  • @tomarik
    @tomarik 2 роки тому

    Thanks for making this video. This motivated me to put down Unity and pickup MonoGame. Being closer to the code is much more important to me than having a bunch of functionality that I don't truly understand how it's working.

  • @savakirilov5263
    @savakirilov5263 3 роки тому +9

    Here is my point: I think you are right , but ive been making games with unity for 6 years and i like it

  • @joaohudsonlacerdaoliveira5253
    @joaohudsonlacerdaoliveira5253 3 роки тому

    The video is cool, I agree that to * learn * making games with only a graphic library helps a lot, demystifies things and leaves the programmer with more capacity to develop what he wants. However, for professional and big games it is impossible to do everything from scratch, game engines were made for code reuse, they are frameworks that speed up the development and bring to the developers the latest in technology. I also made some games with a graphic library, in Java (2D) and also in C ++ with opengl (3D). However, I do not like the idea of ​​using python, especially in games, it is as much as slow, especially if you are going to implement a lot instead of using ready-made things (his libraries are fast), apart from the extra abstraction that the language provides.

  • @caasieu
    @caasieu 3 роки тому +8

    The video isn't about hating game engines, he's just saying if you're a beginner it's better to start with a rendering library which could give you the hints about what's really happening on the background of your game. And obviously if you have a GTA typpo game to build you surely should go for a game engine already built homie. Don't play with serious matters!

  • @beefwater
    @beefwater 3 роки тому

    This was a great answer. It really forces people to take sides and gives them a good answer about what options they have.