Code a 2D Game Engine using Java - Full Course for Beginners

Поділитися
Вставка
  • Опубліковано 14 жов 2024
  • Learn how to program a 2D game engine from scratch using the Java Programming Language. You will use the game engine to create a Super Mario Clone but the engine can be used to create other games as well.
    💻 Code: github.com/cod...
    ✏️ Course created by GamesWithGabe. Check out his channel: / @gameswithgabe
    🎥 Part 2 (final hour of this course): • Code a 2D Game Engine ...
    ⭐️ Course Contents ⭐️
    ⌨️ (00:00:06) Introduction
    ⌨️ (00:07:54) Setting up the Window with LWJGL
    ⌨️ (00:25:20) Adding Event Listeners with GLFW
    ⌨️ (00:51:42) Creating a Scene Manager & Delta Time Variable
    ⌨️ (01:11:26) How OpenGL Graphics Programming Works
    ⌨️ (01:32:53) Drawing the First Square
    ⌨️ (02:02:56) Regexes and Shader Abstraction
    ⌨️ (02:24:25) Game Camera OpenGL
    ⌨️ (02:47:47) GLSL Shaders
    ⌨️ (03:08:45) Texture Loading in LWJGL3
    ⌨️ (03:36:02) Entity Component System
    ⌨️ (04:06:25) Batch Rendering in LWJGL3
    ⌨️ (04:50:00) Resource Management in LWJGL3
    ⌨️ (05:05:30) Texture Batching
    ⌨️ (05:38:48) Spritesheets
    ⌨️ (06:01:12) Dirty Flags in Rendering
    ⌨️ (06:23:17) Alpha Blending and Z-Indexing
    ⌨️ (06:38:56) Integrating ImGui
    ⌨️ (07:01:56) ImGui Fonts and Scene Integration
    ⌨️ (07:19:43) Serialization with Gson
    ⌨️ (07:42:48) Deserialization with Gson
    ⌨️ (08:06:03) Exposing Variables to the Level Editor
    ⌨️ (08:25:29) Converting Screen Coords to World Coords
    ⌨️ (08:49:27) Drag 'N Drop Level Editor
    ⌨️ (09:15:25) Debug Drawing Functions
    ⌨️ (09:47:35) Snap To Grid Tool
    ⌨️ (10:10:25) Debug Drawing Boxes and Circles
    ⌨️ (10:28:58) Framebuffers in OpenGL
    ⌨️ (10:52:56) ImGui Docking in Java LWJGL
    ⌨️ (11:11:55) Adding a Game Viewport
    ⌨️ (11:34:51) Mouse Screen Coordinates to Game Viewport Coordinates
    ⌨️ (11:50:01) Pixel PERFECT Mouse Picking
    ⌨️ (12:23:39) Enabling Mouse Picking and Code Maintenance
    ⌨️ (12:35:16) Editor Camera Controls with Lerp
    ⌨️ (13:01:48) Coding Gizmos
    ⌨️ (13:31:03) Translate and Scale Gizmo
    ⌨️ (14:04:29) Properties Panel
    ⌨️ (14:33:53) Integrating JBox2D in our Engine
    ⌨️ (14:54:53) Event System and Box2D Physics
    ⌨️ (15:19:09) Adding an Engine Runtime (Play/Stop Buttons)
    ⌨️ (16:10:10) Refactoring and Physics
    ⌨️ (16:40:28) Font Rendering
    ⌨️ (16:43:34) Beginning Scene Hierarchy & ImGui Upgrade
    ⌨️ (17:00:38) Scene Panel Drag & Drop (ImGui)
    ⌨️ (17:18:31) Even More Bug Fixing
    ⌨️ (17:44:51) 2D Animations
    ⌨️ (18:18:29) Sounds with OpenAL
    ⌨️ (18:44:27) Improving the Editor
    ⌨️ (19:21:24) How to Use Box2D Physics
    ⌨️ (20:06:12) Pillbox Colliders and Player Controllers
    ⌨️ (20:45:32) Variable Length Jumps
    ⌨️ (21:25:28) Powerups
    ⌨️ (21:51:52) Goomba AI
    ⌨️ (22:29:59) Mario Pipes & Editor Improvements
    ⌨️ (23:01:59) Game Camera & Grid Lines
    ⌨️ (23:28:28) Mario Turtle AI
    ⌨️ ( • Code a 2D Game Engine ... ) Adding Flag Poles to Mario
    ⌨️ ( • Code a 2D Game Engine ... ) Fireballs and Bug Fixes
    ⌨️ ( • Code a 2D Game Engine ... ) The LAST Episode and Distributing your Game
    🎉 Thanks to our Champion and Sponsor supporters:
    👾 Raymond Odero
    👾 Agustín Kussrow
    👾 aldo ferretti
    👾 Otis Morgan
    👾 DeezMaster
    --
    Learn to code for free and get a developer job: www.freecodeca...
    Read hundreds of articles on programming: freecodecamp.o...

КОМЕНТАРІ • 621

  • @GamesWithGabe
    @GamesWithGabe 2 роки тому +653

    Thank you so much for hosting my videos on your channel Beau! And not only hosting them, but taking the time to put them all into a giant video! I hope anyone who watches this is able to find some use out of the series, and if you want to go more in depth about game engine development, I can't recommend "Game Engine Architecture (3rd Edition)" by Jason Gregory highly enough (it's a big blue book :).
    I'm also working on a new series that goes in depth on how to code a Minecraft clone. It only has two episodes out right now, but if this is something that interests you, feel free to drop by the channel. Once again, thanks for all the work you put into combining these videos together Beau!

  • @devilsadvocate243
    @devilsadvocate243 2 роки тому +118

    Incredible. As a mid-30s year old guy who is self-learning I find this type of content to be invaluable.

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

      so have you got it around? i've started to practiced how to set the window and error handling and the buffer objects.

    • @EyBossPusi
      @EyBossPusi Місяць тому +1

      ​@@graphitic5578are you focused on game dev? Been learning to code java for over 6months now doing oop stuff.
      How you doing so far bro?

    • @graphitic5578
      @graphitic5578 Місяць тому

      @@EyBossPusi i feel angry. Not directed at gamedev, i try to compartmentalize it from my personal life as much as I can. I have no room i can retreat to, anywhere else is being seen and watched.

  • @tndev6060
    @tndev6060 2 роки тому +264

    23 hrs of learning content! wow 🔥

    • @cg2020r
      @cg2020r 2 роки тому +11

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

      actually 23:50 so almost 24h

    • @INDIAn-gg8ox
      @INDIAn-gg8ox 2 роки тому

      Technically it's 23:50 means 24 hours😰😰

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

      23:50:34*

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

      There is a part 2 actually

  • @Occultus947
    @Occultus947 2 роки тому +22

    For anyone trying to follow along on MacOS, if your glfw window creation gets hung up navigate to Run > Edit Configurations... > Modify Options > Check "Add VM Options" > and then add -XstartOnFirstThread into the field that pops up.

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

      THANK YOU!!!!!! Ugh that was frustrating. Your clear comment saved us!

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

      Yeah thank you so much I was so confused and this worked!

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

      OMG THX SOOOOOO MUCH!!! I spent over an hour trying to figure out the error, and your comment fixed it in 30 seconds!

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

      I spent hours trying to solve the problem, thanks god I thought about checking the comments. Thank you very much mate.

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

    you guys posted a WHOLE 24 HOUR course just like this???? Love each one of you!

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

  • @elakstein
    @elakstein 2 роки тому +59

    For my access
    1.) 25:21 event handlings (mouse and key listeners)
    2.) 51:46 scene manager
    3.) 1:11:28 how to program the GPU
    4.) 1:32:55 The first square
    5.) 2:02:58 Regexes and shaders.

  • @mathunter01
    @mathunter01 2 роки тому +675

    that's insane. i'm not going to practice this but this is a good job

  • @TonyHanation
    @TonyHanation 2 роки тому +190

    Insane! That these content are free. I wish companies can look at job candidates differently these days because degrees are not needed to do a job well.

    • @arulp9079
      @arulp9079 2 роки тому +15

      I wish the same. Degrees are outdated.

    • @jrbaprz
      @jrbaprz 2 роки тому +24

      The future is looking bright because here in Toronto Canada, major companies (like big banks and other large tech companies) have removed their degree requirement and only require programming skills and knowledge. Hopefully this will become a reality everywhere else.

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

      @@jrbaprz that’s good news! I’m a Vancouverite and I’m def seeing the same! Having said that, alumni network still plays a big effect so without it requires candidate to network a bit more to get the job. I also see that Google has done the same!
      What’s pushing for this is a big gap in STEM especially tech talents. Very good changes!

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

      They're not needed to do a job well, but having a degree tells the employer "this employee can do some number of skills in this field already based on what the standard curriculum is". There's no standard for the quality of a youtube tutorial, no matter how well made.

    • @felipe2637
      @felipe2637 2 роки тому +10

      @@RegiRuler that's what people don't understand, a person without a degree can obviously be better than someone who owns one, but it just takes triple the effort, if not more. The thing is, some companies just don't want to take the risk.

  • @BhaskarDascomp
    @BhaskarDascomp 2 роки тому +23

    This is insane...23 hrs content !!!!! Huge respect for free code camp and the content creator.....🔥

  • @n8ordi3
    @n8ordi3 2 роки тому +23

    For people with a different version of inteliJ at about 2:10:00 when he's mentioning about modifying VM options (if you're not seeing VM options available for modifying, you will just need to click Modify options and check Add VM options)

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

      thanks, I knew checking the comment section in this type of video will help a lot regarding changes in the ide and stuffs

    • @exitspree
      @exitspree 11 місяців тому

      Thank you!

  • @jijobuje
    @jijobuje 2 роки тому +76

    Currently I am trying to develop a bouncing ball game by using design patterns in java. So, I can't imagine how much background needed for such a mario game in 24 hours. This is not a lecture this is a show.

    • @cg2020r
      @cg2020r 2 роки тому +5

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

    • @Akhil-bnz
      @Akhil-bnz 2 роки тому +2

      Bruh, that game was fun and those good old days of nokia keypad mobiles.

  • @Sltydg27
    @Sltydg27 2 роки тому +26

    This seems extremely informative, the only problem I have is I am unsure which files I should be downloading without having to search and hope I am getting the right stuff to properly follow along with this course
    In any case I appreciate such a thorough (I think) walk through of what needs to be done with the tech available to us now to achieve similar results. Thank you!

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

      Which files are you having trouble finding?

  • @blockyscript6798
    @blockyscript6798 2 роки тому +8

    Imagine someone watches this video in one day. Jokes aside, this is incredible. You're very talented!

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

      that guy would hit world record, as that would be impossible (in normal video speed)

  • @timisa58
    @timisa58 2 роки тому +15

    Wow! Wow! And Wow! I enjoy Java and have been teaching it for 10+ years! This is incredibly generous! Thank you! Did I already say WOW?!

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

      Dude, in your videos you're a 10yo kid... Or isnt it you?

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

      Can Someone tell me wich ide is it used in the video?

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

      @@karasu6182 Intelli-J.

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

      @@oliveryt7168 so what if he's 10? i learnt scratch when i was 9 and learnt Unity C# when i was 12

  • @greg7987
    @greg7987 2 роки тому +23

    I personally started programming with learning to build game engine with java and I'm still working with java.
    This video will be very helpful to start java I believe.
    Great job. Thanks.

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

      Hey there , Actually I am preety much confused that in which field should I enter web , app , game , blockchain development can you call out a domain which is in scope today ? And one more question is development really needed can't I just get job with good competitive skills

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

      @@nishantdalvi9470 by competitive skills you mean skills in competitive programming ? And just get into something that you like, if you didn't study for a diploma it will be hard to get a job honestly, maybe web is the easiest, and less regarding of your diplomas. In the end you will need experience in your domain so just pick one and learn (sry english is not my native language)

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

      @@giltham2934 Yes I mean by competitive coding can I get a good job out of it without doing any development . I am pursuing bca degree

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

      ​@@nishantdalvi9470 it's your knowledge in a specific domain that will help you get a good job. Being good at competitive programming will maybe help you during a technical interview, but if you apply for a job in desktop developpement, and you don't have a lot of experience with the technology used or the domain in general, don't expect to be recruited. BTW, competitive programming is great if you take your time to implement robust solutions, but if you do it for speed it will just train you to implement bad solutions to problems you know by heart. Conclusion : programming competitions are great on the side, but they are not training you at all for practically any domain.

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

      @@nishantdalvi9470 You COULD get a job with competitive programming, but it's generally for the top competitors that are VERY GOOD at it and are doing this on a daily basis for months/years

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

    Millions of humans are missing this channel . This channel is more precious than my college degree !!!

  • @ankitnmnaik229
    @ankitnmnaik229 2 роки тому +60

    Really helpful , need more like this...
    Giving thanks from every cell of my body...
    Really great job...
    Feedback- if u first show a roadmap for all the things you used and a short or tutorial type on those concepts then that would be even more better..
    But still thanks man..

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

    • @lofi-ver1034
      @lofi-ver1034 2 роки тому

      Feel like 👍

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

    If anyone is attempting this on Apple ARM silicone, for your OpenGL to compile correctly you need to add the following code within Windows init() with all other configurations.
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GLFW_TRUE);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

  • @JXDfr
    @JXDfr 2 роки тому +6

    WHAT THE, SO I HAVE BEEN LOOKING FOR THIS TH WHOLE TIME (SEARCHED FOR 300+ VIDEOS) FINALLY. thanks

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

    Wow... my heart pulse is raising when saw the title of the video.
    Let's try to find some free time, then start follow the video :)

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

    guys you are the best ever !!! 24 hours of game engine basics just like that! That's why you are the best!!! Insanely cool!

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

    ScanKey codes are GREAT if you code like I personally like to (using a lot of arrays and array manipulation). You basically store each key-state in a numbered array and that scan-key-code indexes to whichever key in the array. Works great to handle multiple-key-presses and custom-binding operations.

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

    only an 1 hour and 10 minutes in and I have learned a lot about object oriented programming thank you!

  • @FloatingSunfish
    @FloatingSunfish 2 роки тому +5

    I didn't even know UA-cam videos could get this long.
    I always thought it capped at 12 hours.

  • @JohnnyFrickinRico
    @JohnnyFrickinRico 2 роки тому +6

    Great Video! I like how you are using existing classes and libraries for this tutorial. As one of my favorite C++ programming instructors would also say " in programming never re-invent the wheel".

    • @anup-kaushal
      @anup-kaushal Рік тому +2

      Wow! That means we will be stuck with same software, libraries and frameworks forever ? Lol, Reinventing the wheel can be beneficial in certain situations and can lead to new software, libraries, and frameworks that make things easier to work with. It’s important to note that it depends on the situation as well as the need of a particular thing. If you’re working for some company and tied with the limitations and deadlines, then probably the wise choice will be to use whatever other programmers have created. But if you’re learning and doing your side project, then reinventing the wheel can help you learn new things and set you apart from anyone else. This way you’ll learn a lot that no one else will have exposure to and which in return will make you eligible for companies people only dream about. It’s not “never reinvent,” instead it should be “Don’t reinvent the wheel when you don’t want to explore or learn something new instead want to get the work done anyhow”. A lot of people will say that if we reinvent the wheel then we are just wasting time on things that don’t matter and we can give that time to other things like beautiful graphics and all. If you think you want to give time to graphics and reinventing the wheel will just slow you down then I think you should reconsider your decision about what you really want to do: Game programming or Game designing because both fields are totally different having knowledge about both is good and beneficial but if you think doing things from scratch is going to waste time then I think Game engines are better choice in that case because why make engine at all? It also comes under reinventing the wheel in one way

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

    If you are using a mac. And need to get it to work properly, you will go through his process. But, in the edit configuration settings, you won't see VM options by default. You have to click 'edit configurations' and then from that drop down select, 'Add VM options' to make sure it checked. After that, the option to paste '-XStartOnFirstThread' will be there. paste it in. click apply. click ok. then run the program.

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

      also, mac dosent like the glsl files in java, c++ works better as far as translation. You will have to rework the default.glsl file.

  • @ElkoGuitarist
    @ElkoGuitarist 2 роки тому +8

    You guys are amazing, thank you so much for sharing knowledge for free on UA-cam! 🔥 ❤️

  • @ibrahimal4342
    @ibrahimal4342 2 роки тому +24

    Me watching: this is so cool I want to learn how to do it too.
    1 hour later: learning for loops

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

    This is honestly one of the best things I have seen online. You rank up there with the Ben Eater videos. You taught me something I can take, and make something of my own with. Most people seem to want something you, or lead you to dead ends due to non functioning code. Or not understanding what they are doing and talking in circles. I can listen to you, like a podcast and literally come back to my computer and know what to do.
    You're like the breakfast club of 2d gaming. I woulda said JOe Rogan, but I think he's canceled; smh..
    Your code works. For mac, takes a little tweaking. Especially for drawing to the graphics card. Keep creating. Even if you think it is redundant, Series like this need to exist.
    Advise for mac users on intelleJ. On the step where you create a String to hold your GLSL file, do a struct instead. Separate the lines exactly as your default glsl. If not, you will have to physically count the spaces after you copy and past the info into the string. Then go into the Shader class, and adjust the length of the Array that is holding the fragment and vertex shader info. .
    Keep it up dude..
    I think yours is the best video in the series so far.

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

    Damn this video is a whole day long o-o
    Props to you for making that tutorial !

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

    24 hours, absolute unit.

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

    It is good to have this, but the catch is , consider many developers are in developing countries, now they might not have this much internet access to follow up a 24 hour long video, moreover it will be beneficial to post it in some blog, (readable format) so that if people want to refer to some specific part , it would be beneficial to them. Nice job. !!

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

    Almost 50 minutes in and following along and holy smokes such a vast amount of information. Will come back after i'm done

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

      You either didn’t finish or never came back.

    • @Shubham-fn3pj
      @Shubham-fn3pj 5 місяців тому

      @@TheOriginalDuckley did u finish? how was ur experience . would u recommend it?

    • @TheOriginalDuckley
      @TheOriginalDuckley 5 місяців тому

      @@Shubham-fn3pjI think it’s useful to learn Java, and the necessary concepts for all game engines really.
      That being said, since I want to get serious with game engines, I have pivoted to learning C++.
      I made it to the point in this video where he started to integrate IMGui before I stopped. So no I did not finish it fully.
      I believe it’s worth it still even if I didn’t finish it. I learned A LOT. And it motivated me greatly to keep going.

    • @Shubham-fn3pj
      @Shubham-fn3pj 5 місяців тому

      @@TheOriginalDuckley thanks. All the best man . Where are u from ? (Just curious)

    • @TheOriginalDuckley
      @TheOriginalDuckley 5 місяців тому

      @@Shubham-fn3pj I am American, I know… eww 😷 😂

  • @ZeonLP
    @ZeonLP 2 роки тому +7

    Impressive. Thanks for your time and sharing your experience!

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

    An entire day of Java, this is insane.

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

    23 hrs of learning content! wow

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

    Wow this is incredible. I’ve wanted to learn how game engines work but didn’t know where to start. Plus I already know Java, so that’s a plus.

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

      Hey, since you know Java, do you have any link to a game engine written in pure java without lwjgl and so on?

  • @napoleonbonaparte5972
    @napoleonbonaparte5972 2 роки тому +47

    Finally gave me an excuse to learn Java. Can we do this using C++ too?

    • @nasrimarc7050
      @nasrimarc7050 2 роки тому +18

      Of course CPP is the most powerful language for high performance apps

    • @fieryscorpion
      @fieryscorpion 2 роки тому +7

      C# is so much better than Java. Java is just unnecessarily complex.

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

      If you go to Gabe's channel (the guy who made this course) he's currently making a series in c++ focused on the development of a Minecraft clone (with it's own unique features).
      It's not exactly the same as this one, specially since It's focused on the game rather than a game engine, but a lot of the same concepts will be there. It currently only has a couple of episodes though

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

      @@fieryscorpion
      C# is a good language, but java is a good language as well.
      You think it is unnecessarily complex because you don't know it, like you know C#.
      I am not very good at java, I work as a programmer and write primarily C#.
      Java looks much like C#.
      Sure some keywords differs, but you get a hang of it quick.

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

      @@fieryscorpion agree

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

    this turtorial video took 23 hour, wow! Im not going to pracite because is too long but briliant!

  • @agon-eery
    @agon-eery Рік тому +1

    And with this video, I now have roughly 50 hours of Java videos to watch

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

    I think this si the biggest video yet? Funny, I was learning Love2D, now this comes.

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

    If using Mac, you must add the following windowHints before your shaders will compile successfully:
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    Took me a few hours to find out I had to do this. Also don't be stupid like me and use gl_position instead of gl_Position😅

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

    Props to whoever finishes this tutorial

  • @akshathole6641
    @akshathole6641 2 роки тому +5

    SO grateful for the great free content.

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

    I'm going to try and run though this over the break. If I can get 30 min done a day it should only take me a few months, and should be helpful for school

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

    I'm very excited to build this!!!
    But still couldn't find time to do it :(
    Will you record a tutorial using C++?

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

    OMG. The amount of effort you are wasting to make this vid is so insane. we cant thank you enough

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

      wasting isnt the word youre looking for, buddy

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

      @@danisob3633 spending it is.

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

    This channel is better than my university

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

    To anyone wanting to actually learn from this course: this course is NOT beginner friendly, you first have to get intermediate in java programming in order to fully understand what's going on here.

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

    This is the best and most insane tutorial I have ever seen, although I am not very good is java, it will still be a great try this one.

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

      C# is so much better than Java. Java is just unnecessarily complex.

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

      @@fieryscorpion I know C# because I use Unity to make games. But I would be cool to make your own game engine.

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

      @@fieryscorpion bruh.

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

    Great video thanks for share your knowlegde. the key question here is, why did you use LWJGL instead of LibGDX? Thank you man.

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

    Wow, 23 hours. That's great, I'm going for it.

  • @Si7ne
    @Si7ne 11 місяців тому

    Ok, i'll try to make it using c++
    1st step: I chose to use SDL2 library to display windows on my computer. I'm coding on Clion usign CMake. SDL2 configuration can be pretty messy for newbies (like me).
    2nd step: find a deisgn a pattern for the singleton in cpp. I personally chosed to use a thread-safe design pattern.

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

    Thank you this is what I wanted for so long

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

    Hattss off u guys just wow 🙏🙏🙏🙏🙏 appreciate u ........ Wil try best to promote u

  • @n.lmeckes4977
    @n.lmeckes4977 Рік тому

    Starting my attempt to follow this tutorial today!

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

    Just insane.
    You deserve to get rich.

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

    how did this channel get to upload one day of footage!?
    Mindblowing

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

    Awesome! Definitely going to try this one!

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

    That is simply amazing, thank you so much!

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

    For those getting some weird numbers or infinity on your delta time/fps counter and your code is fine, it's propably because you have a intel CPU, try updating the drivers and that might fix it.
    I spent 3 hours trying to find a mistake that i didn't make :)

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

    I hope to activate the translation icon in all languages so that everyone can benefit from this valuable content. Happy New Year

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

      @@danielmbcn shut up

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

      Don't you think if he forces you to learn English first, you not only learn a bit about 2D engines with java but also is ready for world wide market once English is the basic language for such?

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

      @@danielmbcn it’s spelt amoeba. If you’re going to tell people to learn English, learn to use it yourself first lmao, very embarrassed for you !!

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

    You’re legend!! Thank you for everything!!

  • @le_plankton
    @le_plankton 2 роки тому +40

    thats a 23 hour video

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

    JAVAAAAA!!! i love javaaaa!
    wish you have certification course in java as well like c# and Javascript.

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

    48:50 bookmark🔖

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

    Holy ...... :O 23 hours :O
    New purpose for 2022: finish this course.

  • @A-Z-A-
    @A-Z-A- 2 роки тому +4

    Almost 24 hours of content. How tho? UA-cam was limiting video Length max 10 hours. Or not anymore?😲
    Great job. Thanks for sharing. Learning always should be for free.

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

    Goodness gracious. A 24 hour long video!

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

    Alomst an entire day just of an video

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

    Straight for one day. That's unbelievable 😳

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

    Given the length of the video it would be very useful (maybe even necessary) to split the parts and adress them so the viewers can jump between them
    Would be useful anyway sonce no one will do the video in one go

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

    Awesome I don’t think feedbacks needed

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

    boss,
    seriously, next level content!!

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

    Thank you so much for this video..

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

    i was just thinking about mario when I saw this video! I am so excited! Oh my God!!

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

    Thank you 🤗 Thank you 🤗
    Please put subtitles on it for those of us who are not English speakers.😅

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ Thank you for the info !

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

    23 hours👀🤪
    I think this lesson will be very useful

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

    Now, this is how you start the new year Ladies and Gentleman!

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

    Me: Sleeps
    Him: Continues talking

  • @slikoloco
    @slikoloco Місяць тому

    i didn't sleep for 24 hours watching this course, i only ate for 1 hour

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

    I always wanted to make my own game engine, even though I won't be starting right now as my routine don't have any time, neverthless leaving this comment and saving video, one day hopefully I will come back and make my own game engine

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

      Did you ever end up making your own game engine? If so, how did it go? If not, what went wrong? :(

  • @louizaferielharchaoui4998
    @louizaferielharchaoui4998 2 роки тому +18

    Hello freeCodeCamp , could you please add the subtitles option for people who have some struggles in english like me ?it is something you usually do with your other playlists , thank you !

    • @cg2020r
      @cg2020r 2 роки тому +5

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

      in his channel (GamesWithGabe), it has subtitles, you can watch it from there too.
      I have watched 1/3 of this video concurrently with his playlist in his channel, and both sources are basically the same

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

    This channel is insaneeeeeeeee

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

    Thanks for the vid, mic quality can be a bit better tho !

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

    You guys are just Amazing.
    Thank you so much

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

    yeah its nice (want second part pls)

  • @AdityaKumar-dv9cp
    @AdityaKumar-dv9cp 2 роки тому

    It's a 24 hrs course 🤯🤯🤯

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

    I had better get started on this.

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

    I'm super grateful that we're given the source code for this. I can't wait to look through it and play around with it!

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

    Very useful and insightful. I would like to see more of such videos as I am currently developing a game in Android.

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

    kudos to instructor/fcc for creating ~24 hours of content

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

    my brain exploded after 4 minutes

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

    Not going to be following this tutorial, just here to say that this is crazy nice job :)

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

    6:01:08 I like how this "chapter" being abruptly ended

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

    Thanks!

  • @therandomsomeone.
    @therandomsomeone. 2 роки тому

    coincidentally enough i was following his lwjgl tutorial a few days ago

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

    amazing work thank you

  • @lapis.lareza
    @lapis.lareza 2 роки тому +1

    Wow, this is AWESOME....

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

      @WhatsApp➕➊➌⓿➊➌➏➌➏➋➒➌ shut up bot

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

    jeez 24 hours hello world