6 Months of Learning JavaScript Game Dev in 6 Minutes

Поделиться
HTML-код
  • Опубликовано: 31 май 2024
  • In this video, we go over my 6-month journey of learning game development in JavaScript. Initially, I talk about why I decided to learn game development in the first place. Then, we dive into my reasoning for choosing Three.js over a game engine like Unity or Unreal. Finally, we take a look at the 10 game dev experiments I made in this 6 month period.
    🐦 Twitter - / suboptimaleng
    💻 GitHub - github.com/SuboptimalEng
    🌎 Website - suboptimaleng.com
    == [ Timestamps ] ==
    00:00 Why Learn Game Dev?
    00:43 Three.js vs Unity Game Engine
    01:37 Solar System Demo
    01:54 Tic-Tac-Toe Game
    02:16 3D Tic-Tac-Toe Cube
    02:37 3D Audio Waveform Visualizer
    03:13 Naruto’s Rasengan
    03:30 3D Piano
    03:55 3D Wordle Clone
    04:16 Rubik’s Cube
    05:02 Retro Snake 3D
    05:40 Frantic Architect Clone
    == [ Credits ] ==
    Simon Dev - / iced_coffee_dev
    Caterina Zamai - www.artstation.com/zaccate
    Hand Anatomy by Caterina Zamai - sketchfab.com/3d-models/hand-...
    James Harness - sketchfab.com/James.Harness
    CRT Monitor by James Harness - sketchfab.com/3d-models/crt-m...
    Will Kwan - / _willkwan
    Frantic Architect - github.com/wkwan/frantic-arch...
    == [ Resources ] ==
    Three.js - threejs.org
    Three.js Tutorials - sbcode.net/threejs
    Cannon.js - github.com/pmndrs/cannon-es
    == [ Tags ] ==
    #suboptimal #javascript #gamedev
  • НаукаНаука

Комментарии • 257

  • @plasticsamalt6633
    @plasticsamalt6633 Год назад +42

    As someone who just started my 3D programming journey, learning JS (and code in general), this video is inspiring as hell! Subscribed

    • @SuboptimalEng
      @SuboptimalEng  Год назад +2

      Awesome to see more people starting to learn 3D coding in JavaScript 🙌

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

      ​@@SuboptimalEng I would love some tips, because basically threejs is my goal here, and I just started learning JS.

    • @SuboptimalEng
      @SuboptimalEng  Год назад +2

      @@plasticsamalt6633 If you just started learning JS, then I'd recommend making 2D games in HTML canvas. It's a lot easier to get started there.
      Once you understand the fundmentals, you can start picking up frameworks like Three JS.

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

      @@SuboptimalEng noted. Thanks!

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

    Beautiful man, you're the only one who could help me, I watched 8 videos and yours was the only one that saved me

  • @arsen3223
    @arsen3223 2 года назад +11

    this is really cool man, makes me want to learn this as well!

    • @SuboptimalEng
      @SuboptimalEng  2 года назад +2

      You can do a lot with JS game dev! Definitely worth trying out 👀

  • @moatazemad1854
    @moatazemad1854 Год назад +1

    BROTHER, YOU ARE THE BEST!!! You oooh really helped me!! THANK YOU VERY MUCH!This is cool, well done!

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

    These are great! Makes me excited to learn threeJS

  • @Total_Studios_Games
    @Total_Studios_Games Год назад +1

    Your video was very helpful, I'm still learning and getting the hang of it still. I'm into House and EDM. I look forward to seeing more of your

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

    Cool journey, thanks for sharing!

  • @airelav
    @airelav Год назад +2

    Hello! I just wanna say thank you for the video it did really gave me a perspective in game dev in JavaScript as I'm starting and only doing it as a hobby, but I would really like to pursue some projects of my own so this is great inspiration 👍🏼

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

      Thanks, Valeria! A couple months ago, I was also not sure about making games in JavaScript. But now, I think it is the best decision I made 🙌

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

      @@SuboptimalEng Yeah! This video really helped me, from now own I'm gonna give priority to game dev cause is supper interesting but also so very challenging for me

  • @RajJaiswal538
    @RajJaiswal538 2 года назад +64

    I feel the Rubik's cube is hardest among them in terms of logic
    And also has a lot of potential of some unintentional amazing bugs
    : P

    • @SuboptimalEng
      @SuboptimalEng  2 года назад +8

      Agreed. Sometimes, the bug is better than the code

    • @andybrice2711
      @andybrice2711 Год назад +3

      Rubik's cube logic is probably quite simple if you understand Abstract Algebra and Group Theory. (Which I don't.)

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

      @@andybrice2711 neither do I tho
      So we're on the same page

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

    Fantastic stuff, man!

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

    Excellent video. Clearly explained all the basics to get started on soft soft. Thanks

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

    So informative, thanks a lot!

  • @HassanHassan-hl6tv
    @HassanHassan-hl6tv Год назад

    Your actually the goat, This helped so much thank you.

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

    Really nice and helpful... Thanks!

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

    Awesome, man! One day I intend to dig into game development as well, just for the fun

    • @SuboptimalEng
      @SuboptimalEng  Год назад +1

      Definitely, it's super fun to get hooked on a piece of software you wrote. Doesn't happen often to me in web development, but happens quite frequently when I make games.

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

      @@SuboptimalEng
      That's exactly how I feel, man. It's wonderful that you got to discover that feeling! And thanks for the incentive given in this video... I have much to learn from you.
      Stay awesome. ‍🔥👊

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

    i really apreciate your help with dowloanding this software

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

    well understood. Thank you you are the best teacher.

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

    Best soft soft Introduction Ever!!

  • @user-zo7up5yw6e
    @user-zo7up5yw6e Год назад

    Thank you very much , now I will understand the functionality

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

    wow. thank you for the amazing video

  • @sarathps1666
    @sarathps1666 3 месяца назад

    This is really cool, Just started myself

  • @adnancodesweb
    @adnancodesweb 2 года назад +2

    I feel your struggle man.. love your videos as well.

    • @SuboptimalEng
      @SuboptimalEng  2 года назад +2

      The struggle of coding games in JavaScript is real, but it's worth it! Keep pushing through 💪

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

    That "failed" cube is mesmerising.
    Thanks for sharing this video.
    Hope you will have success upon your path.

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

    Thanks bro that was really helpful

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

    Worked for me thank you!

  • @drsensor
    @drsensor Год назад +4

    Proper cache control and lazy loading is really hard to achieve in engine that doesn't target web browser as it's first priority. Though streaming 3D model is still challenging in any engine or rendering-lib

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

    how do you get all the tutorial and samples on the left. mine doesnt have sNice tutorialt

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

    Really helpfull tutorials. Helped a lot

  • @256k_
    @256k_ Год назад

    the broken cube was fantastic. hope you kept it

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

    HELP! When i put a sample into the daw, the sample slides instead of moving in steps, how can i get the sample to move in steps?

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

    Gained a sub on this one, good shit man!

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

    by any ans, but I can make what I envision, and that's the greatest gift to . You are, without a doubt, an expert teacher. You may

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

    when you’re in the channel rack, click on gms to open up the gms nu, in the light blue screen on the top left look where it says

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

    Yoo tnx dude, everytNice tutorialng works. I LIKE IT

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

    my laptop speakers. Any suggestions on what to do to get my soft back? I recently updated. Any help would be greatly appreciated.

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

    Dude. Thank you so much.

  • @vlone.666
    @vlone.666 Год назад

    have. But, your tutorial was amazing and I have made a semi-decent soft. Thanks!

  • @adflyadfly4137
    @adflyadfly4137 10 месяцев назад

    From any js library can we create any game like tycoon used cars game? Like car moves in (3d object), follow route, park in given slot etc??

    • @SuboptimalEng
      @SuboptimalEng  10 месяцев назад

      You can make small fun games in JS, but if it is super complex then it might be better to go with Unity or Unreal.

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

    Thank you. super program!

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

    thanks so much man

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

    Worked, thx

  • @Ivan-dt9mc
    @Ivan-dt9mc 2 года назад

    nice video man

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

    Very cool!

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

    BROOO THANK YOU!!!!!!!!!!!!!!!!! YOU'R THE BEST!!!!!! I LEARNED EVERYTNice tutorialNG I NEEDED TO KNOW THAN YOU VERY

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

    such a fantastic video reccomendation

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

      Looks like praying to the RUclips algorithm every day is finally working 🙌

  • @cineural
    @cineural Год назад +1

    The Rubik cube glitch would be a really cool loading screen

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

    Works, thank you boy

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

    TNice tutorials was very helpful thankyou.

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

    In The setup what soft is that the little one

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

    Nice tutorial. I have been having content issues with my hmdi connected speaker and subwoofer. No soft is coming through, still coming out of

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

    I tried and it is installed thank u very much anda

  • @RAOROCKSTAR1990
    @RAOROCKSTAR1990 6 месяцев назад

    So if I don't have to build games in 3 dimensions, I don't need to use threejs? I have a fair amount of experience in React/Javascript but don't know much about game development. If I have to make simple games in 2D with sound and visual effects, can you suggest me a library? How's kaboom?

    • @SuboptimalEng
      @SuboptimalEng  6 месяцев назад

      I've never worked with that library so I'm not sure how it is. My recommendation would be to learn and use PixiJS.

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

    YO YOUUURRRR ART IT BEAUTIFUL

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

    Oh it's really works) god bless you

  • @MHW-nu7pz
    @MHW-nu7pz 4 месяца назад

    Nice video! I really love what you built! I will be going to start to learn the threejs. Is it that I have to be good at math before starting it?

    • @SuboptimalEng
      @SuboptimalEng  4 месяца назад +1

      That’s great to hear! You don’t need much math unless you want to become a shader magician.

    • @MHW-nu7pz
      @MHW-nu7pz 4 месяца назад

      @SuboptimalEng Really? Only the shader requires advanced math?

    • @SuboptimalEng
      @SuboptimalEng  3 месяца назад

      Depends on how complex your applications are. Most of the games I made in this video do not use math beyond trigonometry. The last game uses physics, but I imported a library to help with that.

  • @alkhemist6631
    @alkhemist6631 8 месяцев назад

    I'm here struggling with logic. This is great. Kudos to you

    • @SuboptimalEng
      @SuboptimalEng  8 месяцев назад +1

      Thanks, I'm sure you'll figure it out 🤓

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

    merci beaucoup a toi :))

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

    In The setup If the master channel is located in the top, next to the counter, then no - IT stays witNice tutorialn acceptable limits, when I play so of

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

    Next ti, can you install one of those apps that creates a circle around your mouse pointer? Sotis it’s hard for to find where

  • @TomServo-tg2tj
    @TomServo-tg2tj Месяц назад

    i love the aesthetic of making things 3d for no practical reasoning but with cool lighting

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

    utilised and enjoyed wNice tutoriallst increasing in value.

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

    Hey man awesome work was just wondering if all of this was in a website instead of a program I really want to learn Javastrip as well but I want to program a program basically and i dont want it to be in a web browser

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

    working fine thank you

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

    Its working man!!

  • @kool-breez
    @kool-breez Год назад

    That Rubik's cube would make an awesome loading 'spinner'.
    Side note: I think some of the stuff you covered in the three.js tutorial (planets rotation), could help finish that rasengan model :)

    • @SuboptimalEng
      @SuboptimalEng  Год назад +2

      I think the rasengan requires more glsl shader skills 😅

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

      @@SuboptimalEng You’ll get it, your first attempt was really good :D

  • @coolsai
    @coolsai Год назад +2

    cool!

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

    I want to put a drum in a certain ti but it automatically goes to the grid. in your video does not happen

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

    putting in....they are only visible on the mini soft roll preview, I can’t do sNice tutorialt without seeing what notes are being played...i can’t even

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

    thank u

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

    thanks helpful vid

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

    hey I want to learn too where do I start?

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

    Good choice!

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

    very cool
    you should write a book (seriously)
    subbed

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

      Thanks Sam! I think I’d need to learn quite a bit more before writing a book.

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

    I love your stuff

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

      Always good to see more game devs out there! Can’t wait till “Metaverse engineer” becomes a job role 👏

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

      @@SuboptimalEng Google&Apple&co will block such job description, definitly XD
      As long there is no offical description.
      I keep calling myself 🐻-Dev
      (b3AR Dev alias Web3AR Dev alias Fullstack Web3 AR Blockchain/SmartContract Developer alias 🐻-Dev 😄🤷‍♀)

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

      @@Skylla54 can't believe it's come to something this complicated 😂

  • @henryzhang6512
    @henryzhang6512 Год назад +1

    just discovered your channel. love your content! (more than simondev 😉)

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

      That's high praise - Simon's videos are super cool - thanks a bunch!

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

    Incredible I will be glad if I can finish one small project in 3 months

    • @SuboptimalEng
      @SuboptimalEng  Год назад +1

      I always set a deadline and try to get something working. It doesn't have to be perfect the first time!

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

    GR8 IDEA TYTY

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

    Rétro snake looks awesome!

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

      Thanks Quantum, it's probably my favorite one as well!

  • @DevlogBill
    @DevlogBill Год назад +4

    Hi suboptimal Engineer, I am back, and I am still learning to code, but I am having fun doing so. I would have never imagined but picking up React and learning how to write in this library with useState and useEffect has improved my skills in writing functions, I use to suck badly. I would have never guessed by me learning React this would be the case.
    Now, I would like to improve my skills in classes, and I figured can you improve your skills in JavaScript and classes and objects by making games? I was wondering by you creating games has this improved your skills in JavaScript and if so, how? Thanks for sharing your video, it inspires me.

    • @thompsonevergreen8006
      @thompsonevergreen8006 11 месяцев назад

      "will learning JavaScript by making projects improve my abilities in JavaScript?" Yeah

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

    TNice tutorials is much more simple than I thought with you explaining it. Currently half way through and I feel like I know everytNice tutorialng already lmao

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

    Nice work. Have you tried playcanvas as well?
    Keep up the great work!

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

      Thanks! Unfortunately haven’t tried playcanvas yet.

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

    4:23 that is not a bug, that is feature 😁. A nice one.

  • @stickguy9109
    @stickguy9109 2 года назад +70

    Nice video but there's one thing I should point out. If you know any programming language like Js for example unity is not hard. I say go for it, if you wanna get serious with gamedev a library is not an artistic tool

    • @SuboptimalEng
      @SuboptimalEng  2 года назад +27

      Unity is not hard, but running it on my computer with Chrome and VS Code is impossible 😂

    • @stickguy9109
      @stickguy9109 2 года назад +16

      @@SuboptimalEng Oh I understand. Well then there's no choice but to make your own web based game engine

    • @GalaxyTime5416
      @GalaxyTime5416 Год назад +4

      @@stickguy9109 im working on one

    • @KennyFully
      @KennyFully Год назад +4

      Unity isn’t hard to use but at the same time I’m not trying to give people a portion of my money!

    • @10inall28
      @10inall28 Год назад +1

      @@GalaxyTime5416 wat is it

  • @TheFlopster
    @TheFlopster 3 месяца назад +1

    That was one of the most beautiful bugs I have seen in my life

    • @SuboptimalEng
      @SuboptimalEng  3 месяца назад

      It’s not a bug, it’s a feature 😉

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

    I think you should make the Rubik cube broken. Looked really cool

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

    Couldn't agree more!

  • @hssageni9893
    @hssageni9893 5 месяцев назад

    actually I'm a web developer and when I woke up this this morning why not making games then i came across this vd it was really beneficial for me and now I'm gonna start my journey in game dev with three.js and I loved the piano you made it's gonna be my first project since I really love music and most of piano games are payed or not that responsive so I'll make it for all the guys that really want to learn playing the piano and the financial support is what stopping them inchaalah when I'm done I'll put an update in this comment hope me luck

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

    super

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

    Perfect tutorial, I just bought it and tNice tutorials helps heaps

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

    Damn. Nice job. I realy couldn't find a proper tutorial explaining everytNice tutorialng you needed clearly but then i found tNice tutorials treasure of a video.

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

    Very cool anna

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

    $199 bundle etc. so wNice tutorialch was is best??? ❤️❤️

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

    Does knowing how to play softal tutorial necessary?

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

    Bruh i feel like you have superpowers making super complicated things left and right likw it's nothing, i hope to be like you someday.

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

      Appreciate the compliment! Though I still have a long way to go before I feel like I have superpowers 😅

    • @breh2716
      @breh2716 Год назад +1

      @@SuboptimalEng 4 years of experience IS super powers in itself lol

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

    Thank you for taking the ti to do tNice tutorials i know I’m gonna enjoy figuring it out

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

    conclusions? was it worth it? what are your future plans?

    • @SuboptimalEng
      @SuboptimalEng  Год назад +1

      Was it worth it? I think so - it helped me get started quickly. But I also realized that lots of game dev/graphics jobs require knowledge of C++ or C#. So if that's your end goal, starting like this might not be worth it for you.
      Currently, I'm really interested in graphics programming so I've been learning how to write GLSL shaders. For this, you don't even need Three.js or Unity, just Shadertoy.

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

    sotis when the sample finishes playing it will play over itself and you get tNice tutorials echo effect.

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

    works gj

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

    all the different elents together in a language that is universal. I've seen plenty of DAW tutorials being new, but tNice tutorials is by far the best so

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

    Good vidio