Brutally Honest Advice for my younger C++ gamedev self

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

КОМЕНТАРІ • 97

  • @alihene2225
    @alihene2225 4 дні тому +14

    So true, with each project I make it feels like my skills improved by 10x (especially if it's a "harder" project)

  • @ThePowerRanger
    @ThePowerRanger 4 дні тому +18

    Premature optimization kills many projects and I truly feel this in my soul.

    • @imphonic
      @imphonic 4 дні тому +4

      Both premature optimization and generalization, yes. I gave up on two projects for these reasons. First time was me trying to build the "perfect class hierarchy for every system that could ever exist that does all the things all the time and is infinitely extendable" before I even knew the problem I was trying to solve. Second time was trying to write a big SIMD library for my game engine with A) zero clue how to write AVX intrinsics and B) not having anything else working beforehand.

  • @bryanedds8922
    @bryanedds8922 4 дні тому +57

    #1 programming tip: become Chad.

  • @happygofishing
    @happygofishing 4 дні тому +12

    "I have a ton of people on my discord server who are like 14"
    pdiddy level quote.

  • @happygofishing
    @happygofishing 4 дні тому +12

    unironically learn assembly as it will demystify how cpus work.

    • @thesun___
      @thesun___ 2 дні тому +4

      I actually kind of want to learn Assembly as I seriously know almost nothing about how CPUs work, but I am worried that I will get into a year-long rabbit hole on CPUs, GPUs and optimising everything little fiddly bit based on how it runs as simple machine instructions. I am also worried that I will then spend two more years on a custom compiler optimised to handle my specific coding style to produce the most efficient executable possible.

    • @happygofishing
      @happygofishing 2 дні тому

      @thesun___ I would recommend learning riscv assembly first as imo it's the cleanest. When I say demystified, I mean you can finally be able to see exactly what the stack is, what calling conventions are, how functions store their args and return values, how syscalls communicate with the kernel etc.
      I haven't been doing assembly for long, only a few months, but it's expanded my knowledge so much it's insane and definitely worth it.

  • @hughjanes4883
    @hughjanes4883 4 дні тому +10

    Dont bother guys, i allready beat coding and made the best code ever written, its a blank file. Infinitely readable, infinitally preformant and infinitely expandable. Its so easy guys, to make perfect code just dont code

  • @k00lmoh
    @k00lmoh 4 дні тому +4

    It's so hard to just make projects for me, I lack creativity, and whenever I decided "okay you know what, let's just make something that already exist" something ends up happening that makes me stop

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  3 дні тому +2

      just start doing it bro, make a terraria clone, it is very fun I prommise

    • @subgivtara
      @subgivtara 3 дні тому +2

      I have adhd and i stuggle with anything. This video gave me some motivation to try again coding anything(this time in c++, not c or java)

    • @Cekkaaaaaaaa
      @Cekkaaaaaaaa 2 дні тому

      @@subgivtara same here. Even with meds (and probably because I'm 31 and have life going on) I struggle a lot to sit down more than 1 hours and do stuff

  • @oskar_schramm
    @oskar_schramm 4 дні тому +14

    Pure wisdom right here

    • @CB256
      @CB256 3 дні тому

      Yooooooo

  • @sledgex9
    @sledgex9 4 дні тому +3

    About the algos: Just learn what they do what they are supposed to solve. Then use one of the myriad (open source) implementations out there if you think you need one particular algo. Finally, learn what the C++ STL provides and use wherever possible. Don't roll your own. You'll save time and the STL implementation is probably way more correct and performant than you'll ever get your own version.

  • @mystcat3
    @mystcat3 4 дні тому +4

    I remember starting coding when I was 14, doing just random stuff in Javascript on my phone, nowdays i'm working in a lot of projects, some done in C++, some in Lua, and to this day I'm still learning new stuff, also more programming languages
    A big project would be that port of Lua to Godot I'm doing

    • @thesun___
      @thesun___ 2 дні тому

      What do you mean by "phone"? How did you code on your phone?

    • @mystcat3
      @mystcat3 2 дні тому

      @thesun___ The app i was using was called "DroidScript", it's sort of a weird mix of javascript and native android interfaces
      Then i moved to a cordova project, it was just an app that loaded my scripts in my sdcard, started to code using Acode editor, then copy the files to my pc and build it using android studio

  • @TheCatargo
    @TheCatargo 4 дні тому +2

    That is one of the best advice I think. I had to go through a lot of those things myself and would say that you're 100% right on all of the points. And the best advice was "Stop waiting for someone to teach you, just learn yourself". Yes, you make mistakes and at the same time, you learn a lot from that.

  • @qdeanc
    @qdeanc 3 дні тому

    To my younger self: Enjoy the process over the product.
    You will not be playing your game 20-40 hours a week - you will be developing it.

  • @SuperLlama88888
    @SuperLlama88888 4 дні тому +1

    Great tips!

  • @sitraash
    @sitraash 4 дні тому +1

    Now give advice to those who started learning this at 28. In nice cases, they will become cool in 5-8 years. In worst 10 years. And unfortunately, they need to spend time creating a family and how not to die of hunger. 2000s graphics are much easier to learn than today.

  • @grinlex
    @grinlex 4 дні тому +2

    смотрю это как будто уже этого не делаю, настолько интересная подача

  • @dziuaftermidnight
    @dziuaftermidnight 3 дні тому

    i don't know what kind of universities you people go to, but in my case, i would not be as good of an engineer as i am today if i didn't get my degree. 80% of subjects were useful in some way - even it is wasn't related to the exact problem i had to solve, it taught me something which became useful eventually (that being hardware, parallelization, concurrency or optimizations, for example).
    regarding tip 3, the best way to get experience is to code as much as possible (and, a lot of time, coding the things you don't care about is even better than doing only what you want). in my case, i had to make roughly 20 projects in 4 years, most of which required at least 50 hours to finish. that kind of work can teach you a lot about code maintaining, debugging, reading other people's code, finding resources online etc. and finally, maybe the most important thing, it will teach you the discipline. you won't always do what you like (even in gamedev, there's a lot of tedious crap you don't feel like doing, but you have to). that kind of experience is best gathered in college.
    of course, if you are wise enough, you should always have some personal projects you are doing in your free time. the best thing about that is, you will feel yourself becoming better in both your project and your studies as you do them in parallel. i, for example, made 3 games during college, only in my free time.
    and finally, my advice to anybody reading this: ditch C++, it's a hell of a language. just switch to C and learn how to code properly.

  • @asiob3n50
    @asiob3n50 4 дні тому +1

    Thanks for these wise advices 🙏

  • @6IGNITION9
    @6IGNITION9 4 дні тому

    I like Casey Muratori's idea of Compression-Oriented Programming. (The article is titled Semantic Compression.)
    "Just write the code that does the thing" (which by the way is the exact same idea in his "Non-Pessimization" performance concept).
    You write the code as simply as possible first, and then your brain automatically notices any patterns in it that can be extracted out (semantic compression).

  • @h3l_l
    @h3l_l 4 дні тому +7

    Hello master Gigachad Low Level Gamedev, I sincerely thank you for the advice. But I'm having problems finding sources to learn opengl with c, not c++. C++ is not interesting for me and I don't want to get STD. May you help me master?

    • @hullukana214
      @hullukana214 4 дні тому +2

      Opengl is a library, so it works the same way in C and C++. Just replace any C++ specific stuff with corresponding C stuff. Most of the time the C++ is just strings, vectors, sorting or other basic data structures and algorithms so replacing them shouldn't be too hard even if you don't know how exactly they work in C++.

    • @sledgex9
      @sledgex9 4 дні тому

      Doing OOP with C is a pain and a waste of time. If you don't like C++ then choose another compiled language that offers higher level abstractions. IMO, I consider C too low level to code anything big in it. It is feasible but a huge sink of time which can be spent elsewhere and be more productive.

    • @h3l_l
      @h3l_l 4 дні тому +3

      @sledgex9 nope, it's my choice good sir. You go use your classes and namespaces and get STD. I love c's simplicity and opengl is originally a c library also I'm not going to implement oop in c from scratch, if I wanted that I would've just used c++ I know it's tiresome

    • @h3l_l
      @h3l_l 4 дні тому

      @@hullukana214 well, I'm too stupid for that. I'm trying to replace the c++ stuff but I just suck

    • @patryk3772
      @patryk3772 4 дні тому

      Opengl is procedural api so it does not have any cpp specific things and there is plenty of tutorials about it. ~I can admit that I also like c simplicity.

  • @ІгорАлієв
    @ІгорАлієв 3 дні тому

    Thank you for nice tips.
    Could you recommend me some c++ gui library, which is 1)simple 2)cross-platform 3)able to create static executables, so you don't need to recompile or update your drivers/gui libs just to run on another machine 4)your gui is editable.
    Thank you in advance.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  3 дні тому

      I usually use imgui but if you need gui for the game itself I just wrote my own gui library. You could also look into tgui it seems cool

  • @Fantasmal84
    @Fantasmal84 3 дні тому +1

    So for people that are interested in coding at their late 20s early 30s, do you recommend not pursued this carreer?
    I have already the fundamentals but taking recommendations for a lot younger people, may be its not worth this career change. (Sorry my english it's not that good)

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  3 дні тому

      really depends, it is possible so it really depends if you like it more than your older career and how fast you manage to learn it compared to other people, so you should ask yourself this questions because it can still be a good option

  • @AliceErishech
    @AliceErishech 4 дні тому

    Another good option is to grab an open source project like Doom and get that set up so it compiles and then study and mess around with it. You'll learn how others go about doing specific things and learn a lot of things you might not known about.

  • @CriticallyRealist
    @CriticallyRealist 3 дні тому

    100%. All great advice.

  • @drominitoketchup
    @drominitoketchup 3 дні тому

    Ok, the hardest part would be only going to the gym.
    But thanks man, you gave me a stable base for my mindset.

  • @nein9420
    @nein9420 День тому

    Super random, but you have inspired me to create my own renderers and to not give up. I now have a working raycaster in JavaScript that runs smoothly. The next step is a full 3D software renderer like the one used in Quake and I have no idea where to start, but that's the fun part.

  • @Barnardrab
    @Barnardrab 3 дні тому

    I made that mistake too. School mentioned nothing about promises and frameworks. Not even jQuery. There was very little emphasis on database. So when I got a job in the IT field, I wasn't able to keep that job.

    • @thesun___
      @thesun___ 2 дні тому

      Honestly, I wouldn't trust a school that can make maths seem boring teach me how to properly programme.

  • @71711x
    @71711x 4 дні тому +1

    love u bro

  • @proman2837
    @proman2837 4 дні тому +1

    I want to study low-level programming so much, but
    all IT colleges rejected me now i am in a geology college and i dont have a lot of time to start my projects 😢

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  4 дні тому +1

      sorry to hear that bro... you should just learn coding by yourself, what's the point to be in a geology college if you don't want to do that

  • @narzaru
    @narzaru 4 дні тому

    5:52 In my opinion, If you are a newbe developer, there are two simple things you may think about. Is the code you write testable? When and how often will the code need to be changed? This is enough to write not bad code.

  • @UCEZe5ozeYkF5VJSX2GLfUjA
    @UCEZe5ozeYkF5VJSX2GLfUjA 4 дні тому +2

    shout out to Squibiladoodoo

  • @Blobseer
    @Blobseer День тому

    solid advice.

  • @redstoneninja3375
    @redstoneninja3375 4 дні тому +2

    I really wanna goto the gym, but the food at my university is so shitty that its better to eat actual shit, so i am eating really less so i am scared of damaging my body

    • @padlivniy
      @padlivniy 4 дні тому +3

      Is the idea of damaging youris body the truth or just a belief that limits you? I don't know your physical condition, but if you're somewhat healthy, a little of excercising will only build your body up.
      As a tip for now:
      The 15 min of working out will give you the most of the benefits from working out, you don't even need to go to the gym. Just do some push ups on the knees, and squats.
      If you can't workout for 15 min - do 10 or even 5. The most important thing is sticking with it every day.
      And I actually wont recommend doing more than 15 min at the beggining. It's better to slide in slowly, and increase the workout time or intensity as you become more accustomed to the current plan.
      Tracking is also important. Put a little paper on the wall and set a checkmark when you did worked out.
      Anyway, do whatever the hell you think is right. There is no rules.

    • @sledgex9
      @sledgex9 4 дні тому

      Then why don't you cook for yourself instead?

    • @redstoneninja3375
      @redstoneninja3375 4 дні тому

      ​@@padlivniyit is partially true and partially in my mind, I have been going to the gym for 6 months before joining uni, after joining my whole schedule got fucked up and I eat very less stuff rn and I lost a ton of weight

    • @redstoneninja3375
      @redstoneninja3375 4 дні тому

      ​@@padlivniymost of that was cuz I was in a cyber security club that was really demanding (7 days a week) 9am to 10 pm in the weekends and 5 - 10pm during weekdays. It's a good place and all and I was doing reverse engineering, and I was enjoying it but this tight schedule fucked me up a lot and I quit after a year

  • @Cinarbayramic
    @Cinarbayramic 4 дні тому +3

    1:05 well... discord is kind of banned in my country

    • @ozu7779
      @ozu7779 4 дні тому

      if ur turkish like me, yes discord is banned in our country 😭 but you can fix it! change your dns settings and then u can able to open every site you want. For process just ask chatgpt or watch some tutorials.

  • @Benox-Dev
    @Benox-Dev 4 дні тому +2

    Godot or Raylib(C++) i study in middle hight school (14 years old ) ho is better for me

    • @patryk3772
      @patryk3772 4 дні тому

      Whatever you want. It does not work in a way that something is better than other when you are 14 yo. Just pick something.

    • @patryk3772
      @patryk3772 4 дні тому +1

      But in your place I would pick something least abstracted which is raylib, because you can learn more how game engines works under the hood, which I hope it can help you later.

    • @Benox-Dev
      @Benox-Dev 4 дні тому

      @@patryk3772 haaaah thank you

    • @Benox-Dev
      @Benox-Dev 3 дні тому

      @@patryk3772 THX

  • @Visnii
    @Visnii 2 дні тому

    fine…. I will do that flappy bird clone

  • @VFusioN69
    @VFusioN69 4 дні тому +1

    hey i am on mac andi want to star grapjhics programing any help?

    • @asiob3n50
      @asiob3n50 4 дні тому

      You can use metal or OpenGL

    • @ozu7779
      @ozu7779 4 дні тому

      use chatgpt to ask questions something like this

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  4 дні тому

      you can use opengl on mac, the learn opengl tutorial coveres that 💪

  • @AlexTsaava
    @AlexTsaava 4 дні тому +1

    btw i use pencil and cardboard (edit: jk) (edit2: u said that if i started in high school then i will be ahead of most ppl but im 9......) (edit3: im not kidding im 9) (edit4: coding is also one of the most fun things for me and i sometimes spend 10 hours coding)

    • @thesun___
      @thesun___ 2 дні тому

      I have no idea how you have as much free time as you do, for I can barely get ten hours on weekends. 😔

    • @AlexTsaava
      @AlexTsaava 2 дні тому

      I can relate I have Georgian school but I barely speak Georgian remember once it took me 10 hours to do the homework (not completely’

    • @thesun___
      @thesun___ 2 дні тому

      @@AlexTsaava You could probably pick up the language quickly as long as you always be around people who speak the language.

    • @AlexTsaava
      @AlexTsaava День тому +1

      @ yeah that wat I do I mean not rlly but like I do… wait I’m lying in edit1 bc I remember how in class I wrote a c++ script in my notebook

  • @thanosfisherman
    @thanosfisherman 2 дні тому +1

    All game devs eventually become unemployed youtubers

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  2 дні тому

      I actually skipped the step of getting employed and just became a youtuber full time from the start

  • @witchtheer3450
    @witchtheer3450 4 дні тому +1

    man ure 31?? u look like ur are 23-24 damm ure chad.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  4 дні тому

      I am 23 that's why I look like that 😂

    • @witchtheer3450
      @witchtheer3450 4 дні тому

      ​@@lowlevelgamedev9330 i totally misinterpreted the start of the video , u said that your first game engine was at the age of 21 and that you have been learning c++ for 10 years and i somehow interpreted it as if you started coding at 21. my bad.

  • @rileyhawksworth8362
    @rileyhawksworth8362 4 дні тому +1

    hello

  • @sungoner5906
    @sungoner5906 4 дні тому +2

    Instant click

  • @romitdas3555
    @romitdas3555 День тому

    I'm 11 years old

  • @alphamodeyt3404
    @alphamodeyt3404 4 дні тому +2

    55 second old video!

  • @Volt-Eye.
    @Volt-Eye. 4 дні тому +1

    He Chad bro ! Did you know ?
    Read more...

    • @Volt-Eye.
      @Volt-Eye. 4 дні тому

      🎉🎉🎉🎉 You have been Rickrolled 🎉🎉🎉🎉

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  3 дні тому

      bruh 💀

    • @alebud1403
      @alebud1403 3 дні тому

      ​@@lowlevelgamedev9330
      Hey here is a tips
      Read more
      NEVER GONNA GIVE UP