Definitive Guide to Creating a Window | How to Code Minecraft Ep. 1

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

КОМЕНТАРІ • 287

  • @UliTroyo
    @UliTroyo 3 роки тому +194

    I’m excited about this series! You’re right-concepts make much better tutorials than code. I retain a lot more with the right metal model.

  • @Sk1erDev
    @Sk1erDev 3 роки тому +101

    Excited to see where this will go

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

      ohhh it's you, i haven't seen your name in a long time

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

      hahahahah me too lol

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

    im super hyped for this series, switched from java to c++ so this is exactly what im looking for!

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

    You're absolutely right - I remember trying to understand how to write a Chip-8 interpreter and looking at tutorials that give you all the code at once did not give me the requisite knowledge to actually understand what was going on. Once I found an article that walked me through the requirements of what needed to happen, but left the implementation up to me, I went way faster, understood what I was doing far more, and had a lot more fun!

  • @siddharthasarmah9266
    @siddharthasarmah9266 3 роки тому +44

    This is so cool. You're the only person who explains these concepts easily but at the same time covering them thoroughly...Thanks for starting this series :)

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

    I love minecraft clones.
    Not sarcasm at all. I think it's great every time someone makes one.
    People always do it just a little bit differently every time - different data structure, different rendering approach, etc.

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

      Agreed. At this point "Minecraft" is as much a game genre as it is a game itself. It's really interesting to see the different directions people take and what they prioritize. I've just gotten started on my own, but instead of the 16x16x16 cubes with textured sides, I'm using 8x8x8 voxel cubes that I model myself. It's like 3D pixel art.

  • @shamblonaut
    @shamblonaut 3 роки тому +14

    I have started on OpenGL before, but I think this series will help me get much better at it.
    Btw, here before 1k views, I think this will blow up.

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

    this looks like the beginning of something very interesting, glad that it popped up in the recommendations

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

    best "tutorial" ever. I love how you give us enough hints to put us on the right path, but let us do the walking. This has been extremely instructional.

  • @lmerry213
    @lmerry213 3 роки тому +37

    I've been flirting with learning OpenGL for the last decade. Despite being a software engineer, I've always run in to a wall and lost interest fairly quickly, with lots of tutorials that fizzle out around episode 3. A week ago I discovered your 2d java/lwjgl Mario clone series and was super excited to see that it was seen through to the end. I'm working my way through that series and have already gotten much much farther than I ever have!
    Thanks for your dedication. Looking forward to moving from 2d to 3d with this series!

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

    I really appreciate this style of tutorial. As someone who has been programming for as long as I can remember I like learning by just being introduced then doing it myself so much more learning happens. Thank you

  • @wevii9043
    @wevii9043 3 роки тому +59

    I love what you're doing so much Gabe, you really do make a difference in this world!

    • @GamesWithGabe
      @GamesWithGabe  3 роки тому +21

      I really appreciate this comment wehi. It's really uplifting :)

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

    I sincerely do not regret watching this video. Looking forward for the next episodes!

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

    I have always been waiting for this!!!!! I'm already exited for the Raytracing XD

  • @JamesMudingay
    @JamesMudingay 3 роки тому +17

    It's nice to see you start a new series that you feel comfortable with!

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

    Wow I'm really exited about this serie

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

    OH BOY after completing your challenges i feel soo great, only your videos make me feel that im learning something

  • @Alex-xo1nt
    @Alex-xo1nt 3 роки тому +3

    OMG. I honestly could not be more excited for this series! Thank you!!

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

    I think this is what many if not every one of us who wanted to learn how to code minecraft needed, im glad im here so soon and ill try to get to the end

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

    Been looking for a “Minecraft from scratch” code tutorial for the longest time, thank you

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

    I’m just starting to learn game design. So thank you for creating this series!

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

    I’ve always wanted something like this

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

    With some experience in luau and 3 days of coding in c++, I can say I understood 20% of the tutorial :)) Great video, Gabe!

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

    Thank you so much for this, looking forward to the next episodes

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

    That's a perfect series for a new game developer in C++! Your video quality is beyond what I expect from a language tutorial. I'm excited to complete this series.

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

    I haven’t even started the challenges and I can already tell I will learn so much faster this way than by copying line by line

  • @Scotty-vs4lf
    @Scotty-vs4lf 2 роки тому

    I actually decided that I wanted to create a voxel engine last night, so im gonna watch your series and then go try it myself

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

    This is sooo exciting! Totally looking forward to this. Thank you in advance!

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

    Explantions + challenges, only good stuff here ! Super excited about this series

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

    this channel is so good. just found out about it recently, but all of your content is amazing me! keep the good work.

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

    First video i have seen of yours, got this chanel on my recomendation page from youtube after watching a Randy video that had your channel in it. This style of tutorial seems 1000% better than any i have seen in a while, hope you keep these vidoes comming as i have wanted to learn OpenGL for some time but just keep putting of becasue i could never be bothered to find a good book/videos on it

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

    It's been forever since I last commented on a YT video, but seeing this I felt I just had to make one. I'm really excited to see where this series goes and I'm glad it's not the type of series where the viewer is essentially just copying code from the video. Please keep this series going!

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

    Woohoo! I've been checking your channel constantly ever since you talked about making this series on your video on why Minecraft is a technical feat.
    Thank you so much for doing this, can't wait to learn throughout the series!

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

    Dude I´m so excited for this series. Please keep it up!

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

    Finally. The kind of tutorial I was looking for. You can't believe how long I've been looking for such a practical tutorial.

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

    the true reason for internet, sharing this type of great content!

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

    Cant't wait for the next episode I started with the java game engine tutorial but this tutorial is next level

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

    I really love this series and it's just the beginning.

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

    great video mate :)

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

    Great video and great work, I'm stoked to see the whole series!

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

    A tip for you, I hope you'll see it! Minecraft uses a variant of ambient occlusion where a block's edge is given a darker tone if it's also part of a neighboring block. It gives a lot of depth to the scene.

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

    Bro this is the exact shit I'm looking for, really looking forward to continuation. I'm trying to make something similar and expand it for my younger siblings

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

    I am going to be following this. I'm definitely going to be following this. Don't be discouraged by the number of views. Please keep making these

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

      Oh I'm pretty happy with the number of views haha. I'll definitely continue making this, it will just be a release schedule of around 3-4 weeks because I have a lot of irl responsibilities that means I don't get a lot of time for youtube

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

      @@GamesWithGabe I was just motivating you cause I've seen many other creators making series like this and getting discouraged by the amount of views they are getting. And it is totally understandable that your upload schedule is slow. Everyone has irl responsibilities

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

    Learning by concepts is so much more engaging than just seeing someone code and saying "yes, thats it because yes"

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

      I'll keep an eye on this series for sure, great job brother 👏

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

    Got this video in my recommendations. It seems like an amazing series. I'm glad that I found it and I'm looking forward to learning more from you! :)

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

    i am pretty excited for this tutorial series

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

    Wow did not expect too see something like this so informational, looking forward to preceding videos!!

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

    Great video, you explained everything quite nicely!

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

    This is one if the best programming tutorials I have seen. Really great job!

  • @andrew0030-YouTube
    @andrew0030-YouTube 3 роки тому +2

    Ohhh for the color values in glClearColor you simply divided the value you wanted by 255F, thus easily converting it to the needed 0 to 1 range. That is actually way more efficient then the over complicated way I did it haha I guess you learn something new every day.
    Cant wait to see more videos like this :D

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

    Really excited about this series!

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

    Great Video Gabe, keep on the good work - I gonna pick up some stuff for future projects although I am working in Java :) But since you are explaining the concepts, its way better to follow along in general :)

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

      Thanks Juyas! And I'm hoping this tutorial series will help people out even if they don't follow the series in C++, or if they just want to learn about 3D programming techniques in general :)

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

    Man, I just came across your channel and I loving all of your content! Thank very much for sharing your knowledge in this incredible way

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

    FINALLY! A good OpenGL tutorial which does a great job at explaining everything :) This made me really want to start learning opengl again

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

    I subbed and Hope to see more of this series

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

    Top content as always! So glad you're doing it in C++

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

    Super excited to follow along with this

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

    You mentioned, that file operations are platform specific.
    But since C++17 we have filesystem that gives us a platform-agnostic way to handle files. :D
    I'm looking forward to see your series, hoping in getting hints in what libraries are available and actually useful or learn something new about them.
    Thanks so far and maybe I will recreate some of this, but with focus on the Vulkan API, I currently try to get familiar with it. Could be an interesting comparison what "old" OpenGL can archive against the "new" and supposedly faster (when handled correctly) and much more complicated Vulkan.

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

    Thank you, great series about to be done,
    I feel very involved when getting some challenges/tasks to do myself

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

    I recently started implementing a own text editor which renders on the gpu with no prior knowledge in openGL, but with some prior experience in c/c++ and window libs like glfw/sdl
    I got the basics of OpenGL through a lot of try'n'error.
    This video was great because i finally really get what glad/a function loader does. i assumed the Linker does some magic, i didnt know its at runtime.
    il not implement minecraft but def continue watching to learn more about OpenGL that might help me solve some shader bugs(bugs in my code not the driver) i still have.
    Also +1 for not just showing code

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

    I am super excited for the next parts! I always wanted to make my own minecraft!

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

    I know this is going to be awesome

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

    OMG im hyped for this series!

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

    Finally, super hyped for this series!!!!!

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

    Very excited 🌟🌟

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

    Wow! Its Amazing how much work you put into this series!

  • @Al-ce9yg
    @Al-ce9yg 3 роки тому

    This is an awesome series! Thanks for making it

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

    I can't believe this is happening!

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

    I just finished my minecraft clone a few weeks ago, and it was tedious to optimize chunk generation. But it was a fun project .

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

    This is amazing !! Waiting for ep 02

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

    Your excellent tutorial forced my hand to click that like and that red button! 😄🥰😃

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

    I have never wondered how to code minecraft but thanks to you now i do!

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

    Cool series, will definitely follow along with this

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

    Waiting for Ep 2🔥

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

    Keep up the good work dude!

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

    I feel like I could absolutely do this on my own but actually doing it is where the problem arises. I think I’d have more fun just adding a few changes to something someone else built.
    Right now I’m into scripts for Minecraft. I’ve made a script that helps me do simple tasks. With a single key press my script determines what Minecraft “decorative” block is on screen and then applies some quick functionality to it such as instantly taking items out of a furnaces exit slot. I also have scripts for opening my inventory, grabbing the enderchest, placing it, and opening it almost instantly. A hot key to function as if I could just press the key to open my enderchest inventory. When pressed again it appends you a text file to keep track of back and forth functions allowing the even number presses to do the reverse and grab my silk touch pick and mine the enderchest

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

    New series im excited

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

    Thanks, Gabe! I was able to perfectly replicate this in Python. It only takes a bit of tinkering around with the glfw and pyglet libraries! pyglet will provide you all the OpenGL stuff like glClear and other values, whilst Python's glfw will provide, well, a wrapper around C/C++'s glfw! Hope this helps anyone else tryna implement this in Python.

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

    Great video as always!! 💯

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

    looking forward for this, you code in c++ and I will follow with c#

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

    This is awesome

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

    I did this as a side project over 10 months, was too busy with my music channel too be making step by step videos but It was written in C#
    I used OpenGL with a C# Wrapper for C++ which was awesome because I can't use C++, I believe I had a great setup with other 100 blocks and functionalities for doors, furnaces, inventories, crafting etc, as for high level programming, as long as you optimise the meshes / textures of chunks to the best possible way you can, performance wont take a hit what so ever I've seen people using Computer shaders for generating chunks which creates crazy draw distances with no hit on performance but I just chose the simple mesh way WITHOUT multithreading and it was extremely fast, I'll subscribe and watch how you get on :)

  • @1800notarealnumber
    @1800notarealnumber 3 роки тому

    you sharing this knowledge is much appreciated

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

    Hey, I m following your 2d java game tutorial and it's really good

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

    Wow, i am excited

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

    Question: do you plan to cover GPU mesh building (via either compute or geometry shaders)? It's something that's generally lacking in most Minecraft-clone materials, and seems to be a good fit to the problem of building chunk meshes.
    Also, quite surprised you went with GLFW instead of SDL - I find SDL more straightforward event handling (explicit event loop without callbacks) a bit easier to work with in simple cases (more tutorial-friendly).

    • @ДмитрийЗинин-м9х
      @ДмитрийЗинин-м9х 3 роки тому +1

      Geometry shaders are obsolete and properly supported only on Intel GPUs, new technology is mesh shaders, which is available on nVidia Turing, Ampere and AMD RDNA2.

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

      I've thought about experimenting with this, but most of the advice I've found on the internet is to not use geometry shaders because they're slow. I might experiment with it though and put out an experimental release to see how it performs on different machines

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

    This is going to be great.

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

    Damm, you are famous!!! good job, But I like this approach of explaining and giving us challenges to solve, Thanks

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

    SDL is very commonly used for windowing too, I recommend it

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

    This is awesome!

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

    Amazing Video!

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

    I hope the next lockdown is comming so I have the time to follow that goodie

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

    And so it begins 👀

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

    Man you are cool. please do more like this when you have time

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

    Neat project!

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

    This is sick

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

    YO THATS EPIC !!!

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

    just what i was looking for

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

    Love this !

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

    Hella on board with this