2D Game Engine by 13-YEAR-OLD! // Code Review

Поделиться
HTML-код
  • Опубликовано: 16 ноя 2024

Комментарии • 1 тыс.

  • @_sevelin
    @_sevelin 4 года назад +3219

    When I was 13, I used to wonder how the refrigerator's lights went off automatically.

    • @msidc1238
      @msidc1238 4 года назад +20

      lol

    • @Mugistan
      @Mugistan 4 года назад +59

      What is refrigerator ?

    • @muzolbyte312
      @muzolbyte312 4 года назад +187

      Everybody knows there is somebody inside the refrigerator that shuts the light out, that's a common sense stuff.

    • @ZooperPlayz
      @ZooperPlayz 4 года назад +3

      Muzol Byte it was a joke....

    • @existencereloaded9577
      @existencereloaded9577 4 года назад +48

      @@ZooperPlayz r/wooosh

  • @cyanimpostor6971
    @cyanimpostor6971 4 года назад +1157

    i like how youtube keeps reminding me of my lack of talents.
    Edit: to everyone in the comment sections. Don't compare yourself to anyone. You can't really compare yourself to Terence Tao who learnt math at age 2.

    • @Red-mx9tx
      @Red-mx9tx 4 года назад +42

      It reminds me of my lack of wealth in my family

    • @Zackitack
      @Zackitack 4 года назад +3

      Same.

    • @jaminithesecond
      @jaminithesecond 4 года назад +15

      I am 12 and I am still a noob at programming.

    • @leonidkhamadakov7778
      @leonidkhamadakov7778 4 года назад +42

      @@jaminithesecond i didn't even knew programming was a thing at 12. Fuk my life

    •  4 года назад +9

      @@leonidkhamadakov7778 I started programming when I was 8 it was horrible and I didnt really create anything but I knew basic things

  • @ashwinkarthikshankararaman6715
    @ashwinkarthikshankararaman6715 4 года назад +1093

    At his age I was trying to balance the switch between on and off.

    • @icedchqi
      @icedchqi 4 года назад +17

      ASHWIN KARTHIK SHANKARA RAMAN onff
      edit: sory i was tired when i made this comment, onff is not a good way to describe it
      BOOL: tralse

    • @Akab
      @Akab 4 года назад +43

      So you've been experimenting with quantum mechanics at such a young age? ... wew

    • @MrNucleosome
      @MrNucleosome 4 года назад +17

      I'm 29 and I still try this sometimes.

    • @anonco1907
      @anonco1907 4 года назад +11

      @@MrNucleosome This can cause a fire

    • @enzoqueijao
      @enzoqueijao 4 года назад

      Now that's something everyone does

  • @rayhaanomar1200
    @rayhaanomar1200 4 года назад +446

    I'm 11 and I am the lead software engineer at Apple, Google and Microsoft. I am also at the forefront of sub 1nm semiconductor research with Galium Nitride/Carbon based transistors.

    • @zoregamolenkamp2154
      @zoregamolenkamp2154 4 года назад +103

      That's pretty cool! Personally I am 7 and have perfected the Art of machine learning and found a way to use certain frequencies of Electromagnetic radiation from the Sun to obtain information and create real consciousness for my Self made Robot that I created from spare parts of my broken coffee machine.

    • @rayhaanomar1200
      @rayhaanomar1200 4 года назад +52

      @@zoregamolenkamp2154 That is incredible. Would you be interested in an executive position at a new startup funded by Elon Musk perchance? It pays roughly 12.6 Billion USD per annum (after taxes). It's not much but it's probably a little more than you're earning at the moment. You will report directly to Mr Musk an myself.

    • @zoregamolenkamp2154
      @zoregamolenkamp2154 4 года назад +54

      @@rayhaanomar1200 Sorry I'll have to decline because I am doing this just as a hobby. Increase from 11 Billion to 12.6 Billion isn't going to cut it.
      I might contact you when I turn 10 and start my project for Multi dimensional time travel

    • @maythesciencebewithyou
      @maythesciencebewithyou 4 года назад +27

      I was born yesterday and made it to godhood

    • @gigabit6226
      @gigabit6226 4 года назад +22

      @@zoregamolenkamp2154 Hey there, I'm 6 and a half. I was the head of NASA a few years back, I'm working on an inter-dimensional teleporter at the moment, hit me up if you're interested. How does splitting the profits 50/50 sound?
      Would it be better for you to wait a few years so you don't have to work on two projects at once? That electromagnetic converter sounds real interesting, and I wouldn't want to disturb your workflow.
      Contact me.

  • @B1ankeys
    @B1ankeys 4 года назад +765

    I am 3 just wrote my first operating system kernal

    • @_sevelin
      @_sevelin 4 года назад +148

      Congratulations, because if it works, then it is probably better than the latest windows update.

    • @msidc1238
      @msidc1238 4 года назад +93

      @@_sevelin It doesnt even have to work to be better.

    • @Mugistan
      @Mugistan 4 года назад +8

      This isn't so hard in fact all you need is to know some of the ports and some logic and you can make a kernel
      The hard stuffs are drivers and GUI

    • @not_ever
      @not_ever 4 года назад +44

      @@Mugistan yeah other 3 year olds should really buck up their ideas. If they can't even do basic kernel dev, they're destined for lifelong unemployment. Or a career at Microsoft apparently

    • @Mugistan
      @Mugistan 4 года назад +1

      @@not_ever Aye, but the bad thing is today 3 years old are less smart than before Making it harder on them because they don't know what is a keyboard or memory

  • @NeoChromer
    @NeoChromer 4 года назад +1063

    This kid has better naming convention as my "senior" devs with 12 years of experience.

    • @ali51717
      @ali51717 4 года назад +308

      because he is 13 not 12

    • @NeoChromer
      @NeoChromer 4 года назад +84

      @@ali51717 Bruh..

    • @tkdevlop
      @tkdevlop 4 года назад +38

      @@ali51717 make sense

    • @itsgalaxy2407
      @itsgalaxy2407 4 года назад +33

      @@ali51717 seems legit

    • @YoTengoUnLCD
      @YoTengoUnLCD 4 года назад +11

      Than*

  • @ChiragRajputS
    @ChiragRajputS 4 года назад +479

    Plot twist - the developer is a grown ass man but pretending to be 13 so that he can be judged less.

    • @maythesciencebewithyou
      @maythesciencebewithyou 4 года назад +54

      Or a parent or older brother who wants to make the child seem like a prodigy, so when he is older has things to show that will make most people's mind blow.
      From my experience, such projects are rarely made alone by such a young person.
      Reminds me of media pushing the narrative of science genius kids who after doing a 2 week internship in a lab make a "revolutionary" discovery. Those just give publicity to the labs and allows them to get more grants. Nobody will make a breakthrough in 2 weeks labwork, let alone a schoolkid. They are given projects that were planned beforehand.

    • @davidzakharias4170
      @davidzakharias4170 4 года назад +12

      This is probably the truth

    • @skilz8098
      @skilz8098 4 года назад +5

      ​@@maythesciencebewithyou In many cases, yes, but every once in a while there are Child Prodigies! Take, for example, Darcie Lynne Farmer from America's Got Talent. She won in 2017 and came back for The Champions show in 2019 and took 2nd overall. She is completely self-taught and is amazing at what she does for her age. Not only can she sing, but the talent it takes to be a good ventriloquist is a challenge in itself, and she is also funny and quirky on top of it. When she came back the second time and sang Opera through one of her puppets, that actually impressed me. Yes, this is music and not "programming", but if she can achieve that I'm sure there are many children out there that have the capabilities of doing things you would deem impossible for their age! So is it hard to believe that a 12 or 13-year-old could do something like this? No!

    • @5thfloor584
      @5thfloor584 4 года назад +18

      @@skilz8098 that's a natural talent, not something that would be considered "genius" as she just happened to have good vocal cords. Programming requires a lot of time, focus, energy, etc. There certainly are child prodigies but it's much rarer than most think, think Mozart (IQ of 170) this person is either lying or exaggerating his age (he could be 15-17).

    • @skilz8098
      @skilz8098 4 года назад

      @@5thfloor584 That was my overall intent, to show that many types of talent can and does show up in young people, not just a natural talent, but also an intellectual one.

  • @VineetNairhero
    @VineetNairhero 4 года назад +559

    13years old ? Well I was building some "Hello World" batch programs and trying to delete system32 folder and calling it virus back then😂

    • @theairaccumulator7144
      @theairaccumulator7144 4 года назад +25

      Everyone starts with that :))

    • @SoicBR
      @SoicBR 4 года назад +4

      the same thing but i was 12

    • @pokemonfreaky100
      @pokemonfreaky100 4 года назад +5

      Also opening the optical drive haha

    • @rishitsingh6621
      @rishitsingh6621 4 года назад +5

      @@theairaccumulator7144 kinda true, but never deleted Sys32 though, i did run "rm -rf /" when was very new to linux

    • @KennyTutorials
      @KennyTutorials 4 года назад +4

      When im been 13 im trying to reinstall windows and playing Skywars in Minecraft :D)

  • @Ken-Creates
    @Ken-Creates 4 года назад +200

    Welcome back to the first episode? Sounds like an infinite loop bug to me.

    • @bzboii
      @bzboii 4 года назад +26

      Circular list. I got here from the final episode

    • @InnerEagle
      @InnerEagle 4 года назад +1

      @@bzboii Hell, That's an involuntarly loop i wanna get in

    • @B1ankeys
      @B1ankeys 4 года назад +1

      We must be in the twilight zone

    • @fbn7766
      @fbn7766 4 года назад

      Lol

  • @tkdevlop
    @tkdevlop 4 года назад +635

    13 year old - Try to copy string
    Cherno - bruh.

    • @hyperbolictrajectory9186
      @hyperbolictrajectory9186 4 года назад +2

      lmao

    • @123goforme8
      @123goforme8 4 года назад +7

      10:31 for anyone lazy ;)

    • @thomashabetsse
      @thomashabetsse 4 года назад +6

      He's wrong, though. Since C++11 this should be by value.

    • @robbgray833
      @robbgray833 4 года назад +10

      @@thomashabetsse He's not wrong, but it's not a performance hit.

    • @thomashabetsse
      @thomashabetsse 4 года назад +7

      @@robbgray833 he is wrong *because* his suggested improvement adds a performance hit.
      Here's the optimal: `class C {public: C(std::string s): s_(std::move(s)) {}};`
      This is zero copies if the constructor is called with an rvalue. One copy-construct if called with an lvalue.
      His suggestion: `class C{public: C(const std::string& s): s_(s){}};`
      Performs at least one copy always.
      If you will always keep a copy of the argument, then you should have the copy happen in the call itself, since for rvalues that copy will become a move.

  • @razodactyl
    @razodactyl 4 года назад +87

    This is a great example of "there's always someone better than you" - in a nutshell, it's pointless to think you're the best at something, always strive to learn.

    • @maythesciencebewithyou
      @maythesciencebewithyou 4 года назад +10

      The thing is that we have only take his word for it. I'm not saying that there aren't any kid geniuses. However, I take stuff like that with a grain of salt. It could be a grown man pretending to be a child. Or a child that got alot of help from his older brother or parent. Or most of the code is copied from some place, something many "programmers" are guilty of.

    • @flobbie87
      @flobbie87 4 года назад

      How olympian. It is not about being the best. Get that out of your head. It is impairing. Oh and by the way, i am the best.

  • @TheMaginor
    @TheMaginor 4 года назад +78

    13:57 Not a big deal, but since you were commenting on it any way: Since char is in the 0-255 range it would be more lookup-performant to just have an array Character Characters[256]. Or better, since printable characters are in the 32-126 range, you could have an array of size 94, and offset by 32 when indexing into it. This is of course assuming you don't start doing unicode stuff, where you may want to either have multiple ranges, or some hash map (that ideally is optimized for this purpose, not just a general std::map). In general, if something is indexed by an integer and the used keys are tightly packed, just use an array instead of a map (wrap it in a user class with error-checking methods if you are uncomfortable with a plain array).

    • @TheMaginor
      @TheMaginor 3 года назад

      @@ic6406 You don't have to search in the array. You just use the (integer value of the) char as the index. It's an O(1) lookup.

    • @TheMaginor
      @TheMaginor 3 года назад

      @@ic6406 The elements have to be allocated if you put them in a map too.

    • @monochromeart7311
      @monochromeart7311 2 года назад

      char is not always 0-255, it's compiler dependant because the C standard for the most part only specifies it has to support the values from 0 to 127.
      It's better to use uint8_t (defined as unsigned char) for such a thing.
      The range of a signed char is [-128, 127]
      The range of an unsigned char is [0, 255]
      char can be either signed or unsigned.

    • @TheMaginor
      @TheMaginor 2 года назад

      @@monochromeart7311 Doesn't matter if you only support ascii. And if you support more than ascii, it is more complicated any way.

    • @monochromeart7311
      @monochromeart7311 2 года назад

      @@TheMaginor well yeah ascii is only 7 bits representing the range [0,127], but I'm just correcting your claim about the range of a char.

  • @TheCherno
    @TheCherno  4 года назад +26

    This was a blast! What do you guys think of this new series? Don't forget that the first 1000 people to use the link will get a free trial of Skillshare Premium Membership: skl.sh/thecherno10201

  • @Bexxkie
    @Bexxkie 4 года назад +95

    When i was 13 i was naming vars butt. 13 years later im still naming vars butt.

    • @papalouie5517
      @papalouie5517 3 года назад

      what

    • @Nobleoasis27
      @Nobleoasis27 3 года назад +4

      Vars = variables

    • @mr9293
      @mr9293 3 года назад

      @dspsx you are definitely not a programmer

    • @saphrone9749
      @saphrone9749 3 года назад

      this is why you never got accepted at job interviews, Gary.

  • @TheLavaBlock
    @TheLavaBlock 4 года назад +50

    If you are interested in doing Vulkan and need a library, I would be happy to hear your feedback about liblava.
    It is still in the preview and there is a lack of documentation, but with the tutorial and demos you can get along, I think.
    Stay healthy!

  • @__mmccall
    @__mmccall 4 года назад +57

    “Welcome back to the first episode” Think about that for a minute.

    • @EE-wp9qr
      @EE-wp9qr 4 года назад +1

      welcome back to my time of birth

  • @thomzz3449
    @thomzz3449 4 года назад +19

    25:12 with headphones on I thought there was a mosquito flying near my ear!

  • @Richie78321
    @Richie78321 4 года назад +4

    I just wanted to mention that I remember following your Java game programming tutorials as a kid. You 100% changed my life by giving me such a great introduction to programming. I'm now pursuing an undergraduate computer science degree and will be interning at Google for the second time next summer! Seriously thank you for all of the quality videos you've produced over the years. I'm so glad that you're still making content too.

  • @kristyii8008
    @kristyii8008 4 года назад +64

    i was eating sand when i was 13 y.o!,
    i am still doing it from time to time;)
    currently i am 20

    • @psun256
      @psun256 4 года назад +1

      Does it taste good?

    • @kristyii8008
      @kristyii8008 4 года назад +3

      ​@@psun256 try it yourself 😜

    • @psun256
      @psun256 4 года назад +1

      @@kristyii8008 Will try later today

    • @serhiiskupow1327
      @serhiiskupow1327 4 года назад +2

      забайтил иностранца жрать песок, а ты хорош)

    • @mr.applejuice8546
      @mr.applejuice8546 4 года назад +4

      @@psun256 yeah bro gotta get some of that iron and calcium in your body

  • @rupeshkalantre7128
    @rupeshkalantre7128 4 года назад +35

    13 year old - Trying to use pointers
    Cherno - I am about to end this mans whole career.

    • @syndromeX
      @syndromeX 4 года назад +1

      If you are struggling with pointers..then you shouldn't be into programming or in to computer in general at all..why waste your whole youth doing something that you dreaded..and frustrated you..every day for the rest of your working lives...

    • @witChaos
      @witChaos 3 года назад +24

      @@syndromeX wow wtf man. chill

    • @allahandjesusaremylatenigh8893
      @allahandjesusaremylatenigh8893 3 года назад +9

      @@syndromeX You can still program, just not with the lower level languages that require you to manage your own memory.

    • @roboticol6280
      @roboticol6280 3 года назад +8

      @@syndromeX woah man chill im 13 and i finally understand pointers and stuff after a huge frustration c h i l l o u t

    • @immanuelc885
      @immanuelc885 3 года назад +1

      thats why you use java.
      jk I love c++

  • @QQ-tf5no
    @QQ-tf5no 4 года назад +29

    9:55 - Try not to use unsigned int
    15:48 - uses unsigned int in hazel

    • @muhamadhafiz25
      @muhamadhafiz25 4 года назад +2

      If the value is never be negative, why not?? You have to understand what is unsigned mean dude

    • @JemEklery
      @JemEklery 4 года назад +1

      @@muhamadhafiz25 unsigned int is almost identical to uint32_t, but it's more clear what size it is. uint is also unsigned

    • @berylliosis5250
      @berylliosis5250 4 года назад +1

      @@faulyf His issue with unsigned int isn't the "unsigned" part, it's the "int" part. unsigned int can be any size (with a couple constraints), while uint32_t will always be 32 bits.

    • @skilz8098
      @skilz8098 4 года назад

      In C++ unsigned int and uint32_t... first unsigned itself means its values range from [0, max]. So if you do something like this:
      unsigned int i = -1;
      std::cout

  • @Avean
    @Avean 4 года назад +6

    I am blown away if this guy is truly 13. Even his e-mail in the beginning is perfect without any typos. I was expecting "here is my codez lulz!"

    • @lolpop7799
      @lolpop7799 3 года назад +2

      huh why do most people think 13 year olds talk like idiots, basically any 13 year old I used to know talked like a normal person

  • @TayFerret
    @TayFerret 4 года назад +16

    beginner programmer: int
    intermediate programmer: unsigned int
    professional programmer: uint32_t
    expert programmer: int_fast32_t
    master programmer: int

    • @leberkassemmel
      @leberkassemmel 4 года назад +1

      lazy programmer: long long
      Who wants to deal with integers smaller than 64-bit anyway these days

    • @skilz8098
      @skilz8098 4 года назад +2

      Over Engineering Programmer:
      #include
      #include
      #include
      #include
      template
      MySpecialIntegerClass {
      /* ... */
      };

    • @flobbie87
      @flobbie87 4 года назад

      Yeah, that's it.

  • @aeonkwiz
    @aeonkwiz 4 года назад +2

    18:06 std::vector::at is not returning a const ref because the member function itself is not const. The difference between operator[] and 'at' is just that 'at' does bounds checking and throws an exception. Also noticed this is plain old C++98, no -std=c++ flag.

  • @Silencer1337
    @Silencer1337 4 года назад +7

    25:11 jesus that scared me. thought the biggest mosquito was going to get me for a second.

  • @jouniosmala9921
    @jouniosmala9921 4 года назад +44

    The macro gives the exact line and file in which the call fails which helps debugging, which the reason I use them with vulkan.

    • @kyriet9303
      @kyriet9303 4 года назад +9

      In Cherno's solution you can also see exact line and file in which the call fails. You just need to set a breakpoint in the callback function and look at the stack trace in your IDe / debugger. It's much more useful than pure macro that gives you "just" line and file.

  • @giancedrick507
    @giancedrick507 4 года назад +4

    Bruh, good work I'm 14 and still learning how to make a 3d game engine with CMake and Vulkan with the game engine series. Honestly, I don't feel any bit of jealousy, I'm just seriously impressed, cause this proves that making something complicated like a 2d game engine, is possible at any age. Although my regret is learning web development for 2 years and I'm relatively stupid at and I really don't like web dev. Best of luck dude, I wish I could skip school for more of the Chernos content.

    • @paradigmshift2223
      @paradigmshift2223 4 года назад +1

      Web dev is a good skill to have dude! There's a ton of JavaScript jobs out there. You're just 14 though lol so I doubt you have to worry about that for several more years. No rush dude! Just be continuously learning!!

    • @giancedrick507
      @giancedrick507 4 года назад

      ​@@paradigmshift2223 thanks for your opinion! I agree that javascript is a good skill to learn especially for a frontend web dev, but I mostly focus on backend web frameworks with other languages. I mostly regard javascript as a slow scripting language that is good at what it's not supposed to do ( node.js and etc. ), but right now I am really focusing on pursuing game engine developement because I find it less confusing than the javascript documentation. Although I rarely play games nowadays. sorry for my english

  • @bobas5948
    @bobas5948 4 года назад +15

    When I was 13, I watched Spongebob and bought the idea that a whale could be related to a crab.

  • @rod-abreu
    @rod-abreu 4 года назад +5

    Well, it's actually awesome to see that no all kids are spoiled by bad content and an overflow of shit that we see online nowadays.
    And it's great that he actually has access to stuff as well. The first time I showed interest in learning about game programming I was 8, and I didn't even had a computer in that time, because it insanely expensive in Brazil. I finally could get my first computer only when I was 22 and already working/playing as a professional musician in a band. So after that, I finally made my way to Computer Science, 10 years had passed and here I am, working for EA Vancouver :)
    I hope this kid never stops and never gets bored with coding, cause' we need more kids like that. I'm already teaching my 7yo some coding stuff.

  • @farbodshahinfar4246
    @farbodshahinfar4246 4 года назад +2

    Awesome code review video. I did enjoy getting through the code. I came here to have a break and found the background music really interesting.

  • @nikoszervo
    @nikoszervo 4 года назад +82

    I'm here to forget that I failed the thermodynamics exam for the third time...

    • @lassipls
      @lassipls 4 года назад +6

      All I remember from thermodynamics are the words isobaric, isochoric, isothermal and adiabatic and how confusing they were

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 4 года назад +6

      Thermodynamics is a relatively easy topic if you practice enough. But that can be said for literally anything 😅

    • @flobbie87
      @flobbie87 4 года назад

      I am sorry. What is the issue?

  • @wazaDev
    @wazaDev 4 года назад +9

    I started programming when I was 13 with c++, i moved to c when I got an Arduino and I've finally settled on c# for unity Game dev and some python. This guys code is way better than anything 13 year old me could have done and I'm 17 at the moment.
    Every time I watch the chernos videos I get tempted to go back to c++

    • @MrDmadness
      @MrDmadness 2 года назад +1

      How do you like c# ? I'm learning c++ and re firing some long used memory from c standard that I used many many years ago.. im primarily interested in making games and made some in c in the 80s .. im 42 now..

    • @wazaDev
      @wazaDev 2 года назад +1

      @@MrDmadness c# is really awesome especially with unity for game development. I like it a lot

    • @MrDmadness
      @MrDmadness 2 года назад +1

      @@wazaDev nice, I'm looking to do about the same though im working on c++ presently I don't work summers and am planning on "school" for c# with unity. I like it's ability for cross platform programming, I feel like tablet games for example are under utilized market as majority are pay to win, and I believe that's what makes any game crap. Nobody wants to pay for a game continuously.. got a expensive gaming desktop and just ordered a gaming laptop that I am dedicating to unity programming, possiblly unreal engine ( one of the reasons for c++ ) any advice for an older guy regarding c# and unity ? I also did some arduino stuff during covid... mostly rc box "tanks" for playing with the cat .

    • @wazaDev
      @wazaDev 2 года назад +1

      @@MrDmadnessthat's awesome, personally I just find it easier to learn something new if I have something I want to make with it. So maybe a really simple game In unity to start with or even a game Jam once you get used to it. I don't have a ton of experience myself but that's what worked for me

    • @MrDmadness
      @MrDmadness 2 года назад

      @@wazaDev I also work best like that, to me the roots are important but also pretty boring, but I was giddy as a schoolgirl to make the snake game from scratch and have it work the other day in cpp.. this was my 1st attempt at it ( I've been studying a lot ) that's why I'm sitting here with a brand new Asus gaming laptop with AMD Radeon™ RX 6800M Graphics w/ 12GB GDDR6, im going all in on programming, and c# and unity are my next step I figure after cpp. :)

  • @rishitsingh6621
    @rishitsingh6621 4 года назад +90

    I've been programming since i was 11 too, and it is the most fun thing so far.

    • @mateuszabramek7015
      @mateuszabramek7015 4 года назад +14

      Bravo for starting this early, but this is hardly best thing about you. You're definitely more than just date of first written program.

    • @rishitsingh6621
      @rishitsingh6621 4 года назад +1

      @@mateuszabramek7015 you're right

    • @ycombinator765
      @ycombinator765 4 года назад +2

      Are you the one who wrote that code, if you are, the many congrats to you!!

    • @rishitsingh6621
      @rishitsingh6621 4 года назад +2

      @@ycombinator765 yes i did

    • @Tofh40
      @Tofh40 4 года назад +3

      NO! The best thing about you is your ability to learn and dedicate yourself to learning a skill and a project. Use what you learn here, your discipline and apply it to your future, if it's game development or not. You're awesome my dude! Keep it up!

  • @pokimane9765
    @pokimane9765 4 года назад +4

    Thank you for reviewing my code ..... i really appreciate it

  • @bidkonic
    @bidkonic 4 года назад +147

    Ah yes, people my age are making game engines while I am still trying to understand matrix multiplication ;-;

    • @ayoubkoolgangster1048
      @ayoubkoolgangster1048 4 года назад +13

      guess thats what school don't teach you

    • @jodazague8333
      @jodazague8333 4 года назад +11

      @@ayoubkoolgangster1048 it's funny cause I'm taking a discrete math class in hs and we are learning about matrices

    • @ayoubkoolgangster1048
      @ayoubkoolgangster1048 4 года назад +3

      @@jodazague8333 good luck man

    • @tanmaypanadi1414
      @tanmaypanadi1414 4 года назад +1

      @@jodazague8333 I miss those days .

    • @colorcookie6088
      @colorcookie6088 4 года назад

      Not that hard man, try it

  • @joshuathenerd
    @joshuathenerd 4 года назад +2

    I really appreciate what you're doing, I'm 14 ( I turn 15 this month) and I get a handful of criticism instead of like encouragement or solid advice

  • @ОлександрУточкін-р7я
    @ОлександрУточкін-р7я 4 года назад +57

    I would recommend this kid to give himself a break from huge projects like a game engine. I can see that he wanted to take something from RUclips tutorials and make it on his own, but he is missing a lot of fundamentals that are essential to be able to do something half decent at best. He has a lot of time to learn, there is no need to rush, so he should stick to basic concepts.
    Great video by the way, would love to see more.

    •  4 года назад +3

      I would definitely agree. The ability to instantly see so many examples online of what you want to do, or get almost instant answers from places like stack overflow, can quickly get in the way of thinking and learning for yourself - a critical requirement to develop...and develop a love for the art (where those code virtuosos reside).

    • @GohersWay
      @GohersWay 4 года назад +13

      No you are wrong you can never learn anything without making mistakes if he want to start coding an Os, he should try that too and he shouldn't worry about failing , but my suggestion is the only thing you may store in back of your head is that your project can always be somewhat optimize better. if any beginner especially people around 13 are reading this, please make sure to divide your project into small goals and try finishing each goal through whatever means even if your engine have to even run at 30fps, don't worry about it. But you should Try searching for optimized libraries / optimized coding practices for your project too, and if you can't find em just implement it yourself and don't worry about implementing it horribly its okay.

    • @belland_dog8235
      @belland_dog8235 4 года назад +1

      @@GohersWay Yes you can. You can learn a lot without making any mistakes at all.

    •  4 года назад +4

      @@GohersWay "the only thing you may store in back of your head is that your project can always be somewhat optimize better."
      --> That statement (used all too frequently unfortunately) is a self-perpetuating obstruction to proper learning. Learn correctly first and you'll never need to optimise.

    • @GohersWay
      @GohersWay 4 года назад +4

      ​@@belland_dog8235 yay you probably came out of your mom womb walking too, I totally agree with your highness and you are the one true Bellend.

  • @KidoKatsuragi
    @KidoKatsuragi 4 года назад +2

    When I was 13, I made a program in pascal, it was drawing random lines in random color with one line end in the screen center and another one random as well. And that's it. Full game engine, even is simple, that's incredible.

    • @Sakari_369
      @Sakari_369 4 года назад

      Well, to be honest, you can find much more source code online also that you can copy and use in your code. But yeah, I used to do similar things when I was 13.

  • @xman40100
    @xman40100 4 года назад +12

    When I was 13 I literally was only learning HTML with notepad lol. I started coding by scripting a sa-mp gamemode with Pawn when I was 14 lmao, and it wasn't great, it's bloated as hell now that I look back at it.

  • @alieeeeennnnnn
    @alieeeeennnnnn 4 года назад +2

    I really like this series, I can already see how you code review some more advanced C++ engineers and how much I can learn from that. Keep it up!

  • @jawad9757
    @jawad9757 4 года назад +49

    I would definitely watch a series where you roast people's code

    • @fbn7766
      @fbn7766 4 года назад +3

      🤣

    • @LutfiAziz
      @LutfiAziz 4 года назад +1

      Yes

    • @tukkinum
      @tukkinum 4 года назад +1

      Oh my God yes.

    • @A1rPun
      @A1rPun 4 года назад +1

      That should be every code review!

    • @gigabit6226
      @gigabit6226 4 года назад +1

      Oh yeah

  • @pritonce6562
    @pritonce6562 4 года назад +1

    This one video actually pointed out so many things i could improve in my own code. Great series and I'm looking forward for more of this amzing content. Keep up the great work :)

  • @johnspeny5215
    @johnspeny5215 4 года назад +8

    Meanwhile I have been moving from engine to engine and framework to framework from the age of 13yr till now.

  • @4и1
    @4и1 4 года назад +1

    Please keep the series going the code reviews are extremely helpful to learn

  • @SankoshSaha_01
    @SankoshSaha_01 4 года назад +385

    Next .... Yandere Dev's code

    • @ilyboc
      @ilyboc 4 года назад +12

      literarily imagining Yan being Yandere xD

    • @SankoshSaha_01
      @SankoshSaha_01 4 года назад +6

      @@ilyboc no

    • @ilyboc
      @ilyboc 4 года назад +4

      @@SankoshSaha_01 ok ._.

    • @Sercil00
      @Sercil00 4 года назад +47

      public boolean evenNumber(int number) {
      if (number == 1) {
      return false;
      } else if (number == 2) {
      return true;
      } else if (number == 3) {
      return false;
      }
      ...
      }

    • @SoicBR
      @SoicBR 4 года назад +30

      string GetName(type WeaponType)
      {
      if (WeaponType.Katana == "katana")
      {
      return "katana"
      }
      }

  • @todorivanov317
    @todorivanov317 4 года назад +2

    Im really excited about these series Yan! For me these are very, very helpful. Maybe a slight suggestion would be if the person has the code uploaded in github and is willing to share it maybe leave a link in the description so we can check it out in even more detail, as a imagine future episodes will contain even harder and larger code with more intricate and complex design solutions. Cheers!

    • @AshishKumar-tg6zh
      @AshishKumar-tg6zh 4 года назад +1

      wait few days i will upload my code and give you a link.
      And i want video of code review on RUclips or downloadable link of video.
      Thanks and wait!

  • @SuikaNine
    @SuikaNine 4 года назад +5

    The first time I dabbled with code was in high school when I was doing Pokemon ROM hacks. I was using advanceMap which focused on more on the visual aspect than coding from scratch.
    Now though, I am pretty decent at Java and Javascript. Maybe I should take another crack at it and see what my newfound knowledge will help me.

  • @bjornsundin5820
    @bjornsundin5820 4 года назад +20

    10:30 I strongly disagree. In this case where a std::string is passed as a constructor argument and used to initialize a member of the class, it should be passed by value and moved in the initializer list to the member string.
    If someone were to pass a const character array (string literal), it would first have to construct a std::string, then do an indirection and copy that string referred by the parameter of the constructor into the member variable. If it instead is passed by value, it only needs to be constructed directly and then moved, even without any (relatively expensive actually) indirection.
    You should almost never have to pass strings by const reference since c++17. Use std::string_view if you need a non-owned, read-only reference to a string, and pass it by value. Otherwise, pass a std::string by value (most of the time).

    • @mohamedmoatyhassan5125
      @mohamedmoatyhassan5125 4 года назад

      very useful insight. thanks

    • @SimonBuchanNz
      @SimonBuchanNz 4 года назад

      @Łukasz Wiśniewski forwarding is not always better: since it's a template you screw with overloading and all the other issues, and if you're going to consume the value (e.g. store it or mutate and return) then you're going to have to do two moves: into the parameter then out, rather than one. Taking by value is actually ok now.

    • @SimonBuchanNz
      @SimonBuchanNz 4 года назад

      @Łukasz Wiśniewski honestly I've forgotten too much about this to honestly defend the two moves statement, but from what I remember you end up constructing the string to pass it in, then moving from that argument in both cases, but the by value let's the compiler see the move from/destroy in the same translation unit.
      Forwarding was introduced for generically wrapping other functions, where you don't want to introduce an extra copy for each of the generic *arguments* you get, not for optimising the body. If you want to do that, maybe use something like "constructable_from"?

  • @Admer456
    @Admer456 4 года назад +13

    When I was 13, I made a small text adventure in QBasic in school. :D

    • @monad_tcp
      @monad_tcp 4 года назад

      those were the days

  • @FullOvellas
    @FullOvellas Год назад

    I'm going to all of these out in order and I really hope the intro/outro bgm stays jazzy!

  • @19Valentin97
    @19Valentin97 4 года назад +70

    The Textrendering code is actually just copied from the learnopengl website.

    • @VexillariusMusicEDM
      @VexillariusMusicEDM 4 года назад +12

      i've done this too: can confirm haha

    • @VydeoGramesJunk
      @VydeoGramesJunk 4 года назад +34

      He’s 13, cut him some slack.

    • @ne0ck237
      @ne0ck237 4 года назад +9

      Yea, I have copied this code myself so many times that now I recognize it immediately, lol

    • @mohamedmoatyhassan5125
      @mohamedmoatyhassan5125 4 года назад +48

      well, that's exactly what professional programmers do as well

    • @demolitionist42
      @demolitionist42 4 года назад +10

      Wounderful Boy no you shouldn’t just cut and paste, at least write it out yourself

  • @frede1k
    @frede1k 3 года назад +2

    When I was 13 (1994) I was programming too, mostly in turbo pascal:) I actually made a multimedia lexicon with 3d animations for specific topics. It was a school project and i put everything + my soul into it, but because the teachers didn't understand how difficult it was they decided to give me a D. Bummer.. Later at the age of 15 i went into C++ and as a danish citizen my biggest hero was Bjarne Stoustrup.

  • @itcmcs.r.l1330
    @itcmcs.r.l1330 4 года назад +11

    When I Was 13, I've tried to do the Kamehameha in the pool.

    • @mufasa6119
      @mufasa6119 4 года назад

      n i tried to be a Power Ranger by wearing on those pieces that hung on their backs.

    • @maythesciencebewithyou
      @maythesciencebewithyou 4 года назад +1

      I'm over 30 and I still try Kamehameha in the pool

  • @RobertFletcherOBE
    @RobertFletcherOBE 4 года назад

    Nice to see you promoting such a promising young person! Its great to see such potential. Young people these days have such amazing access to quality information that just wasn't there in the past. It makes me wonder just what they'll achieve in the future with such a strong start.

  • @bzboii
    @bzboii 4 года назад +9

    The memory management bugs are exactly what I would've expected from a 13 y/o

    • @mr.fantasee
      @mr.fantasee 4 года назад

      Yeah but thats what you can expect at university too

    • @UnicycleSoul
      @UnicycleSoul 4 года назад +1

      @@mr.fantasee And then later in your day to day software engineering job. Memory management is a bitch, regardless of your skill level :/

    • @mr.fantasee
      @mr.fantasee 4 года назад

      @@UnicycleSoul I'm not on that level yet... But I can imagine :/

  • @HDSQ
    @HDSQ 3 года назад

    This series looks like it'll be so great! One episode in and I've already learnt a ton. This sort of criticism of hobby projects is very hard to come by, so even if it isn't my code there's still a ton of awesome take-aways that I'd never find in most programming tutorials.

  • @NeoChromer
    @NeoChromer 4 года назад +3

    I starred coding with 20 at College. did some basic coding at highschool too but yeah i had no idea what i was doing

  • @kaaskak123
    @kaaskak123 4 года назад +2

    Already looking forward to the next code review, very helpful!

  • @BlenderDumbass
    @BlenderDumbass 4 года назад +4

    At 13 I was pranking my teachers at school with some python. I did fake hacking apps. That just were terminal based, text things.

  • @GigawattKid
    @GigawattKid 2 года назад +1

    You're inspiring young people to code Cherno which can only be a good.thing.
    Keep up the great work.

  • @yulyalesheva98
    @yulyalesheva98 4 года назад +3

    That jazz at the end...❤️

    • @arima_dj
      @arima_dj 4 года назад

      Тож оценил, аж перестал слышать что он говорит

    • @yulyalesheva98
      @yulyalesheva98 4 года назад

      @@arima_dj есть такое

  • @ZuvielDrama
    @ZuvielDrama 4 года назад +1

    Much respect to the young coder!!! Great Work!!! Some things like call by reference and call by value are not understood right now. 18:00 but this is all okay. You are 13 years old! Boy be happy, that you are such a great programmer for your age!

  • @flatbill2
    @flatbill2 4 года назад +13

    And I'm just teaching my 13-year-old son what a file folder is 🤦

    • @darthvader8469
      @darthvader8469 4 года назад +1

      xd

    • @Sahilbc-wj8qk
      @Sahilbc-wj8qk 4 года назад

      Some children slow in start but became extremely fast later years of 18,19

  • @harrymack3565
    @harrymack3565 4 года назад +1

    Damn, I started coding at ten and then spent like 3 years doing hello world stuff in pretty much every language under the sun. I am 14 now and have finally settled down into unity and some java stuff. This is amazing.

  • @Mateus.007
    @Mateus.007 4 года назад +9

    20:50 - This font rendering is from learnopengl website.

    • @toffeethedev
      @toffeethedev 4 года назад +4

      He knows how to copy and paste? He's ready for industry

  • @space-nu6hc
    @space-nu6hc 4 года назад +1

    I've been watching your videos since 2016 and you still use the word "essentially" in almost every sentence, lol I just thought that was funny... P.S. Your videos taught me a lot about programming and development and I usually don't comment on videos but I genuinely just wanted to say thank you for everything that you've done, without your videos I definitely not be where I am now :)

  • @Chadderbox
    @Chadderbox 4 года назад +3

    This is going to be a good series.

    • @handlol
      @handlol 4 года назад

      didn't expect to see you here 👀

  • @shoulderstack5527
    @shoulderstack5527 3 года назад

    This is a great new channel. Really helpful, and nicely paced.

  • @kartikeyagarwal6087
    @kartikeyagarwal6087 4 года назад +5

    Rather than email, make a subreddit, for code review, and the best or most interesting code gets more upvotes and you review it every week or so..

    • @kartikeyagarwal6087
      @kartikeyagarwal6087 4 года назад

      I don't know if there already is a subreddit about you, but this might be a good idea..😀

  • @mezohx
    @mezohx Год назад

    I started web development when I was 10 (or 11), and now that I'm 14 I'm making my own 2d game engine for my first indie game with the Haxe programming language.

  • @markmuthii
    @markmuthii 4 года назад +5

    Cherno: I am not a coding god.
    Also Cherno: proceeds to speak the language of the gods.

  • @michaeljungling7858
    @michaeljungling7858 4 года назад

    I wrote something pretty similar a couple years ago and just 5 minutes in i noticed so much stuff i did not... optimally :D
    Great series, keep up the good work!

  • @eemelilehtonen8628
    @eemelilehtonen8628 4 года назад +23

    I was 15yo when I started building my engine. Now I am 18yo. I am not sure if I should send him email.

    • @dibbidydoo4318
      @dibbidydoo4318 4 года назад +14

      You should send it, so he can roast the hell out of it.

    • @NoOne-uz4vs
      @NoOne-uz4vs 4 года назад +3

      Please do. We can all learn from his comments.

    • @gunnaryoung
      @gunnaryoung 4 года назад +1

      I'm just impressed that you've been working on the same project for 3 years! I can barely get myself to care about a project for a few weeks.

    • @WhatIsMyPorpoise
      @WhatIsMyPorpoise 4 года назад +1

      @@dibbidydoo4318 and then learn from it

    • @dibbidydoo4318
      @dibbidydoo4318 4 года назад

      @@WhatIsMyPorpoise yes that too.

  • @kelechiokorie
    @kelechiokorie 4 года назад

    Learnt a lot from this. Would love to see more code reviews in the future.

  • @BlenderDumbass
    @BlenderDumbass 4 года назад +4

    The coping strings part. OMG. I feel anxiety. I made code that copies all the images into memory every-time you reset the window. It starts at 3 mb then 20mb then 200 mb ....

    • @inx1819
      @inx1819 4 года назад

      mom pick me up im scared

  • @Rand0081
    @Rand0081 4 года назад

    When I was 13 I had no computer. I used to code in BASIC on a Z80 Amstrad at a classmate's home. My first 2D program was a sinusoid.

  • @jackson1124
    @jackson1124 4 года назад +43

    Videos like this ___ year old does ___ make me sad :(

    • @kevinkkirimii
      @kevinkkirimii 4 года назад

      why ?

    • @_lapys
      @_lapys 4 года назад +12

      They can be intimidating and maybe even make someone vulnerable to their insecurities.
      Not saying it's not good to celebrate brilliance but typically projects like this aren't tackled by 13-year olds for example, so that can be intimidating

    • @flobbie87
      @flobbie87 4 года назад

      How old were you when you killed those hookers?

  • @androkon6920
    @androkon6920 3 года назад +1

    When I was 13, I struggled to script lil applets in AutoIt and thought my AlarmClock.exe was amazing.
    Good memories

  • @BinkiklouGaminglol
    @BinkiklouGaminglol 4 года назад +15

    At 13 I was writing my own programming language..
    I never finished it tho

    • @hypersomnia8252
      @hypersomnia8252 4 года назад +1

      oof

    • @bitmammothOG
      @bitmammothOG 4 года назад +1

      You mean you thought about doing it once? lol

    • @BinkiklouGaminglol
      @BinkiklouGaminglol 4 года назад +4

      @@bitmammothOG nah, I actually got pretty far and even got up to 114 stars on github, but then I lost interest and thought that I would be a waste of time because I would have to spend an enormous amount of time to make the compiler better, and the final product would still won't be that good

    • @sasha2209
      @sasha2209 4 года назад +1

      @@BinkiklouGaminglol do you still have it on github ? Link pls

  • @kanskejonasidag1
    @kanskejonasidag1 4 года назад

    Great series, great format! Would love to see more of this :)

  • @ilyboc
    @ilyboc 4 года назад +7

    At the age of 13, I used to make games inside powerpoint xD

    • @sensiblewheels
      @sensiblewheels 4 года назад

      Powerpoint can do that? 😁

    • @ilyboc
      @ilyboc 4 года назад

      @@sensiblewheels well you can make animations .. you can link buttons to slides and many things that you can hack for making a presentation look like a game

    • @sensiblewheels
      @sensiblewheels 4 года назад

      @@ilyboc Ah! Nice one.

    • @ilyboc
      @ilyboc 4 года назад

      If only I was introduced to coding at early age :(

  • @kumartatsat868
    @kumartatsat868 3 года назад

    18:01 that is the most amazing bug spot I have ever seen in my life...

  • @nicolaifrigaard3041
    @nicolaifrigaard3041 4 года назад +5

    Not a programming god?
    ImPosSiBLe!

  • @ThatJay283
    @ThatJay283 4 года назад +1

    I started programming when I was 11 and built my first modern opengl game engine at 17.

  • @zzador
    @zzador 4 года назад +3

    11:37: Can't agree. Class variables are more important than class methods imho. Should stand at the beginning of the class. Regarding all the other points I'm with you, though.

  • @RADIOSCATRACHASUTAN
    @RADIOSCATRACHASUTAN 3 года назад

    Lol, cant even understand the beginning to start creating that at all. It is outstanding a 13 year old little one was able to do that. Respect!

  • @Borgilian
    @Borgilian 4 года назад +3

    Global is not really the big bad wolf, as many OOP programmers like to make it out... especially in a game / game engine. It's a big project, with many systems that need to interact. You cannot separate them all completely. He could expand his code into a handmade-esque structure, as presented by Casey Muratori in his HandmadeHero series, and be better off.

  • @flamegame7024
    @flamegame7024 4 года назад +2

    I feel so sad and disappointed by myself, because I am 13 too, but the hardest C++ project that I have done is just a non graphical poker game, and when I finished it I was super proud of myself, but now I feel absolutely demolished!!!

    • @baum_data9243
      @baum_data9243 4 года назад +1

      I think it doesn't matter at all... Keep going and don't be discouraged by someone who's potentially better than you! I think most of your age aren't even capable of creating this game :) I startet coding at somewhere 13ish too and it's hard but also worth it and at some point you will get better quickly

    • @flamegame7024
      @flamegame7024 4 года назад

      baum_data Thanks man I appreciate it!

    • @williamstech9314
      @williamstech9314 4 года назад +1

      Remember that this kid is the exception to the rule, not the rule. If you're constantly comparing yourself to others, you'll just feel bad about yourself in the end. Be proud of what you achieve!

  • @KennyTutorials
    @KennyTutorials 4 года назад +11

    I've always wondered why you use 'vendor' instead of 'libs' or 'libraries'? I'm just from Russia and for me, for example, the word 'libraries' is clearer.

    • @richardlighthouse5328
      @richardlighthouse5328 4 года назад

      3rd party source code.

    • @ilyboc
      @ilyboc 4 года назад

      maybe cause you can make your own libraries, whereas vendor tells you more that it's not something you or your team made, thus you can't control it

    • @KennyTutorials
      @KennyTutorials 4 года назад

      @@richardlighthouse5328 Well libraries and frameworks are already third party code.

    • @KennyTutorials
      @KennyTutorials 4 года назад

      @@richardlighthouse5328 In most cases, if you use your own additional code, it is already included in your project as the basis and does not go to the libraries. For example, I can't push my math library into libraries or vendor because it's supposed to be part of a game engine or a project.

    • @richardlighthouse5328
      @richardlighthouse5328 4 года назад

      @@KennyTutorials libraries can be 1st party code.

  • @TwaritWaikar
    @TwaritWaikar 4 года назад

    This is great! We also sent in our engine for you to see, really looking forward to what happens in this series in the future

  • @monad_tcp
    @monad_tcp 4 года назад +4

    When I was 13 I made a 3D engine following the graphics programming dark book. I didn't solve the pesky float raster problem that made some little one pixels holes thou.

  • @jummagamedeveloperbeginner6509
    @jummagamedeveloperbeginner6509 4 года назад +1

    Hey, I started programming when I was 11 I was able to make games when I was 13, like that guy, I know programming. Now I'm 15. I know most of the people get amazed when they see somebody younger can make games and softwares, but it's common nowadays. I think I know a kid in my country, 9 year old kid developed a good video calling software. This things are actually common in this age of technologies, where kids like me can learn computer from childhood.

    • @superidra4461
      @superidra4461 4 года назад

      I'm 16 and do a lot of stuff with computers and programming but literally no one else in my entire 200-people year seems to share the interest (well - one exception). Out of curiosity where are you from? I'm in the UK, so it might just be something local

    • @jummagamedeveloperbeginner6509
      @jummagamedeveloperbeginner6509 4 года назад

      @@superidra4461 I'm from Bangladesh, but I'm not a Bangali, I'm a Chakma. I really want to know what things can you do with your computer? Graphics art? I can model 3D graphics things but don't know how to join one and another 2D texture and making them look realistic looking 2D. But I'm interested with 2D graphics.
      Do you have facebook ID? I want to be friend with you on there.

  • @SturmerSS
    @SturmerSS 4 года назад +3

    Now I feel stupid...

  • @vladyslav007
    @vladyslav007 3 года назад

    Actually got a small comment on passing std::string by value. Pass by value and then move it into the member variable is a clang styleguide. In most cases, it is about the same as const ref and then copy

  • @koksem
    @koksem 4 года назад +10

    python users:
    I could have done this in 20 lines

    • @thechosenone729
      @thechosenone729 4 года назад

      :D :D :D :D :D

    • @paulschmidt8742
      @paulschmidt8742 4 года назад

      That is why we love python

    • @jwadaow
      @jwadaow 4 года назад +1

      Make a wrapper and do it in one line

    • @paulschmidt8742
      @paulschmidt8742 4 года назад

      @xOr Java is cool. You can make apps with android studio.

    • @BoneMihai
      @BoneMihai 4 года назад

      @xOr What !!!! I just started (6 months a go) my Java training.

  • @CreativeSteve69
    @CreativeSteve69 4 года назад

    This was a great review Yan. When I was 13 i was studying how the gameboy advance was built and worked. Never knew how to code yet until I was 27 back in 2017 with basic java. Now I'm learning basic C++ with Unreal and a bit of Unity.

  • @mspoints4fre123
    @mspoints4fre123 4 года назад +2

    You should prob be running these in a VM.

    • @jordough4495
      @jordough4495 4 года назад +1

      As always, solid cybersec advice from Bob Saget.

  • @СергейФёдоров-щ8ш
    @СергейФёдоров-щ8ш 4 года назад

    The guy is great. will go far! I also started coding at the age of 12 at the zx Spectrum) Good luck!

  • @PflanzenChirurg
    @PflanzenChirurg 4 года назад +3

    My integrated graphicscard is faster than my dedicated, Acer Aspire 5 ^^

  • @HakanSULUNtequila
    @HakanSULUNtequila 4 года назад

    I was attempting to write a simple calculator in qbasic when I was 13 - good job young man keep your passion up!