I programmed Minecraft from scratch... again.

Поделиться
HTML-код
  • Опубликовано: 14 янв 2022
  • Grab Atlas VPN for just $1.39/mo before the deal expires: atlasv.pn/jdh 👨‍💻
    come back next week im making minecraft again itll be fun i promise
    PATREON: / jdah
    CODE: github.com/jdah/minecraft-again
    EDITOR: NeoVim
    VIMRC: gist.github.com/jdah/4b4d98c2...
    THEME: gruvbox
    RESOURCES:
    learnopengl.com
    opengl-tutorial.org
    shadertoy.com (that specific shader is www.shadertoy.com/view/MsB3WR)
  • НаукаНаука

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

  • @jdh
    @jdh  2 года назад +204

    Grab Atlas VPN for just $1.39/mo before the deal expires! atlasv.pn/jdh

  • @thegavinjackson
    @thegavinjackson 2 года назад +3805

    Not bare bones enough, write it in machine code based off of your own instruction set, running on your own custom hardware that you mined the silicon for yourself

    • @jrgerba
      @jrgerba 2 года назад +419

      Nah that’d be too slow and error prone, he’s gotta write his own language and compiler, this way it’s much faster than writing machine code when he starts the project

    • @danielekott4704
      @danielekott4704 2 года назад +161

      @@jrgerba thats why its a joke.

    • @jdh
      @jdh  2 года назад +2013

      give me a few months

    • @M9625Rahul
      @M9625Rahul 2 года назад +24

      omg!

    • @noam5153
      @noam5153 2 года назад +82

      He’s gotta build the monitor this all displays on

  • @williamjpriest7475
    @williamjpriest7475 2 года назад +3171

    normal people: Why buy the cow when the milk is free
    JDH: Let's make a cow

    • @not_herobrine3752
      @not_herobrine3752 2 года назад +94

      then, on a fling, he will decide to spark electricity through some carbon based matter to create organic soup which eventually evolves to a cow

    • @valpha359
      @valpha359 2 года назад +10

      Sus

    • @aizal1468
      @aizal1468 2 года назад +21

      @@not_herobrine3752 good soup

    • @thorin1045
      @thorin1045 2 года назад +12

      ye, but he did not even mine his own silica for his computer, and now even use a proper programming language instead of going to the better way of writing his own os for the minecraft he wants to build later.

    • @liab-qc5sk
      @liab-qc5sk 2 года назад +2

      even if it is little dump, I still like it

  • @h1ndlet
    @h1ndlet 2 года назад +1581

    The actual insanity of these videos is ridiculous, just making 3D engines from scratch because he wants to. Amazingly impressive!

    • @DeuxisWasTaken
      @DeuxisWasTaken 2 года назад +74

      It's actually a fun (for nerds like me, at least) hobby, seeing how it's essentially creating viewable and interactable universes using only math and the power of computers. And the linear algebra and trigonometry involved can be learned without too big of a problem even by not very great or educated mathematicians like me (thank you 3blue1brown for teaching me more than my entire highschool did); and it's a mind-blowing experience itself, combining many "I will never, ever use this IRL" concepts into a practical, working whole.

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

      @@DeuxisWasTaken I tried using a 2d engine to do 3d and gave up after suffering math

    • @t3v727
      @t3v727 2 года назад +6

      I have to agree with @The Crazy Pineapple making engines is fun. I even make videos about it. But anything 3D graphics related is pretty interesting for me :)

    • @SK83RJOSH
      @SK83RJOSH 2 года назад +17

      This is extremely far from scratch considering how much bgfx does for him... :)

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

      You should check ThinMatrix’s Equilinox series… be amazed 😊

  • @alexandernyberg8668
    @alexandernyberg8668 2 года назад +1121

    1:20 I love that since C++ is a kinda middle-level language both low-level and high-level programmers can find common ground in complaining about it

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

      lol yeah

    • @awuuwa
      @awuuwa 2 года назад +30

      c++ is the best

    • @Catonator
      @Catonator 2 года назад +148

      C++ is such a weird beast since the standard is so big and complicated that you can really just pick a style and write code in it, whether it be "C with classes" or "C# but I pretend to be cool." Then you read code written by other people and suffer greatly

    • @okuno54
      @okuno54 2 года назад +24

      @@Catonator I feel like "C# but I pretend to be cool" is someone I know. I'm not sure who, but I must know someone that does this

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

      @@Catonator Apologize for the stupid question, but what makes C# not cool? Is it just it being easier, or what?

  • @nicopad2260
    @nicopad2260 2 года назад +178

    jdh: *complains about people using engines and shortcuts*
    also jdh: *uses a rendering library*

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

      It's for combatabity

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

      while this is a valid point lets pretend that it's for easy cross compatibility with all platforms because the old one didn't run on windows and used openGL (vulkan better fight me)

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

      @@universallyepicnarwhal9102 I'm sure you could get it compiled on windows pretty easily. I was referring to cross-compatability between graphical api's...

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

      jdh in a parallel universe: writing my own rendering library in assembly

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

      Cut him some slack , even 2 years ago he used a rendering library

  • @cgfgsks201
    @cgfgsks201 2 года назад +351

    The only appropriate option would have been to code in HolyC, make it 16 color, and include elephants.

    • @the_zlatk0
      @the_zlatk0 2 года назад +35

      i agree. he could also implement a drivable truck so he can hit the glowing... well you know.

    • @nikkiofthevalley
      @nikkiofthevalley 2 года назад +6

      ..... What on Earth is HolyC????

    • @abbanf
      @abbanf 2 года назад +67

      @@nikkiofthevalley A language designed for an OS from god, implemented by someone with schizophrenia.

    • @user-qp3qj2jv6f
      @user-qp3qj2jv6f 2 года назад +43

      @@abbanf hey, the dude wrote a compiler, don't do him like that

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

      @@user-qp3qj2jv6f so what? Writing a compiler is definitely not an impossible task, people do that all the time in unis

  • @halberd3776
    @halberd3776 2 года назад +370

    Looks awesome! You're getting a bit of peter-panning (8:14, where the shadows aren't touching the objects). This could be from a constant bias that you may have added to fix shadow acne, but for the future it's much better to have an adaptive bias. Look up slope-scale depth bias if you have the time. Nice work mate, love the vids!

    • @jdh
      @jdh  2 года назад +170

      That’s actually due to depth map resolution :) I should have cranked it up to 8192x8192 for the shots in the video - but IIRC there is already slope-scale depth biasing in the lighting shader!

    • @__8120
      @__8120 2 года назад +253

      I like your funny words magic man

    • @joaoruss0
      @joaoruss0 2 года назад +10

      ​@@__8120 AHHAHAHAHA

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

      @@jdh probably you can just grow the shadowed part a pixel or two (I mean adding to the border)

    • @SimonBuchanNz
      @SimonBuchanNz 2 года назад +12

      Looks like you're casting from back faces, not front faces?
      Otherwise, yeah, you need shadow cascades for an open world. Which sucks.

  • @AndrewScott007
    @AndrewScott007 2 года назад +167

    I need that video on the top 10 reasons you hate Rust. It would be hilarious and informative from someone who's done an insane amount of low level computing.

    • @zombie_pigdragon
      @zombie_pigdragon 2 года назад +20

      Professional Rust shill here, and I'm also curious why he dislikes the language. I do agree it was probably a good choice to avoid it here though, given the game-dev scene is still so-so in Rust.

    • @sutsuj6437
      @sutsuj6437 2 года назад +5

      @@zombie_pigdragon Rly ? Look at Tantan he's using rust (bevy) for some of his projects and it seems like it's working. I have never heard someone complain about rust being used in a game. Like the language a game is done in shouldn't really matter. The only thing that matters is if it's a good game or not.

    • @zombie_pigdragon
      @zombie_pigdragon 2 года назад +5

      @@sutsuj6437 Of course it's possible- I've been keeping an eye on it, though I left that out of my first comment. Right now, I'd even argue that if you're willing to put in work at a similar level to this video, everything is available, sans examples. But those examples are a key part- with finished products comes learning tools, and features and ergonomics. The Rust gamedev scene doesn't have that yet, and it'll be years before it can catch up to C++. I'm sure it's possible today (and in fact, I hope someone will) to recreate this video with wgpu and patience, but it'll still show more rough edges than C++ for a while longer.

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

      @@zombie_pigdragon As someone who tried rust for games... Yeah sadly it's not that great for games. Still use it for literally everything else though.

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

      @Zombie_Pigdragon would rust have better performance if it had those things?

  • @OrangeDied
    @OrangeDied 2 года назад +174

    when this engine is pretty finished, it'd be cool to see an in depth explanation of the math and how everything is organized and works together kinda like you did with the jdh-8

  • @alexanderdavis319
    @alexanderdavis319 2 года назад +72

    Jdh I really hope you end up doing a crash course lesson on game engine concepts and implementations some day. I noticed that you skim over many details for the sake of staying on topic, but I'm sure that many other people along with myself would also appreciate a video that gets into the nitty gritty. Amazing work in this video as usual, you've got me hooked on to your channel!

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

      I agree so much! He should definitely find the time to explain what he likes of libraries and how he has written this code!

    • @astroid-ws4py
      @astroid-ws4py 2 года назад

      Me too !!

    • @BrunodeSouzaLino
      @BrunodeSouzaLino 2 года назад +9

      jdh doesn't seem to be the type of person that knows how to teach what he knows. That's a skill separate from the knowledge you have.

  • @popeofrei4124
    @popeofrei4124 2 года назад +129

    jdh: "java is stupid and to easy"
    me an java programmer:"yes"

    • @ilmalocchio
      @ilmalocchio 2 года назад +15

      lol " *an* java programmer"
      Almost missed the joke

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

      @@ilmalocchio i didn't get it :(

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

      @@semihkaplan Yeah I guess the "an" was just a typo and there is no further joke here.

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

      @@dasKeks28 yeah i guess

    • @ilmalocchio
      @ilmalocchio 2 года назад +6

      @@dasKeks28 not a typo, n oway. Try to type "a" right now and consider how bad your finger would have to slip to type "an" instead.
      It's a very nuanced joke. He's calling himself stupid, and he gave us a hint of evidence for it (bad grammar)

  • @billr3053
    @billr3053 2 года назад +12

    I think it may be somewhere in the blur / bloom / composite section - "screen-space ambient occlusion" at 8:36, there is a region of brighter shadow along the bottom edge of the objects. Maybe you've addressed this but it looks like a flaw as is. Likely you've improved on it already. I hate to nitpick as this work is far beyond my capability and I'm truly impressed.

  • @kritischparken
    @kritischparken 2 года назад +7

    ive written a comment like this before on one of your previous videos (obviously previous) and i still stand to it: i love every single video you upload since i not only very much enjoy every computer science-ish content you upload but i also enjoy the way you make the videos and you yourself, still i would love to see the c minecraft version becoming bigger, maybe becoming a bigger community project the more it grows and attention it gets, with some real gameplay and multiplayer, i just love the idea of a super fast running c-made minecraft clone made entierly by you and your community, please dont let this die hahaha

  • @playbyan1453
    @playbyan1453 2 года назад +12

    Great work, I enjoyed every frame of the timelapse of the coding process. Seems the shadow a bit off and the ambient ocullusion was wrong but meh the shadow was sick.

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

    bro im so glad to see u back. i saw ur first vod on my recommended and then moved on to watch every single video on ur channel more than once. glad to hear ur gonna post more and is very excited

  • @Tantandev
    @Tantandev 2 года назад +49

    I am continuously amazed how much effort you put into every video you make.
    The results are really impressive!

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

    A new jdh video is the best thing to wake up to after sleeping past all my alarms

  • @luizchagasjardim
    @luizchagasjardim 2 года назад +31

    Great to see you come to the C++ side of the force. We fear and love C++. But seriously, with concepts, modules and coroutines in C++20, it's a whole other language now. It's modern-modern C++.

    • @robinmattheussen2395
      @robinmattheussen2395 2 года назад +9

      The features in C++20 can be pretty amazing, but it's a shame that they're still crudely bolted on top of the "old" C++ which was crudely bolted on top of C. The features might be "modern" (whatever that means), but C++ is not modern and never will be unless the entire world suddenly starts writing C++20 overnight and all known and maintained code magically transforms as well. Tons of professional C++ developers still write C++ like it's 1998. And tons of actively maintained code is still written in that style as well. And onboarding devs to this new style is not easy either, as it's hard to deny that with all those cool features there has also been an explosion in complexity in an already complex language.

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

      @@robinmattheussen2395 I agree 100%. That's why I started avoiding working with C++. It's my favorite language if I'm working alone or with a team where everyone thinks like me. But I've been in teams where one guy wants to write C, another guy wants to slap virtual everywhere and a third guy is randomly mashing the keyboard but somehow it compiles and no one can refactor it now.

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

    Yes! I remember being amazed when you first uploaded the original, IIRC I watched it about a week after it came out. And now you've built an OS, a computer, and now you have re-done it, even better! Great job!

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

    Great work! All of your projects and videos just hit the right spot!

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

    The shadows being lighter near the edge of the block casting it is bothering meeeee
    Regardless of that minor nitpick, amazing work as usual

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

      Yeah it's a bit odd
      I also think it must give a special unique charming vibe to the game after some time though (think of all of Minecraft's quirks that we just got to enjoy haha)

  • @CeilingPanda
    @CeilingPanda 2 года назад +38

    As a minecraft dev this is actually great, insane fast progress :D

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

      You worked on minecraft?

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

      hey wait a minute why is there a video with over s million views on your channel

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

      Oscar Åkesson? didn't your brother also do something?

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

      U worked on minecraft, mr minecraft dev?

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

      Yes, I work at Mojang currently, no I dont have a brother :^) edit and because I was immature and basically ignored dcma as that wasnt really a thing when I was too young to understand stuff

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

    Crazy how much better this one looks than the last one, well done!

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

    I can watch people recreate minecraft from scratch for years. There's something so satisfying about listening to what goes into and also setting up your own algorithm for interpreting this invisible voxel data into a mesh generated representation
    I'd bet money you could make a game out of that alone. And if I knew more coding than just looping through arrays I'd make one

  • @Magnogen
    @Magnogen 2 года назад +34

    Congrats on getting a sponsor! Looking forward to how you make this!

  • @FrostBitttn
    @FrostBitttn 2 года назад +6

    Surprised to see this on my homepage when it was uploaded a few minutes ago lol

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

      Yeah i got the notification instantly

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

    Gosh I love this, well put together and everything! Great work :3

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

    Woooooow nice I'm so glad you started doing engine-programming-related content again! Keep up the good work!

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

    It would be really cool if you start your own programming tutorials for languages like c and c++ considering how skilled you are.

  • @InappropriatePolarbear
    @InappropriatePolarbear 2 года назад +9

    Can't wait to see you make Minecraft using C# in 2024.

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

    Your Minecraft videos were some of my favourite videos on RUclips. Thanks for making more!!!

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

    Awesome work! Look forward to seeing what you do with it :)

  • @0yousif0
    @0yousif0 2 года назад +33

    Programmers when they have free time :

  • @appliedskater
    @appliedskater 2 года назад +7

    You are easily, and by far my favourite coding youtuber.

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

    Wow you just blow me away. Genius. My first programming language was C under Unix, best environment dev setup I have used.

  • @b4ph0m3tdk9
    @b4ph0m3tdk9 4 месяца назад

    Thanks, it is so much more interesting to hear about the engine mechanics than whatever gameplay.

  • @fishfpv9916
    @fishfpv9916 2 года назад +6

    The Cherno should do a code review!

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

    I can make the blocks show up but getting them textured, and rendering with lighting and collisions is hard as hell for me. Good job, jdh.

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

    please keep this series going! its so interesting for some reason.

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

    Very nice video! I really appreciate you sharing something non-trivial you've made with bgfx. Not very common on the RUclipss. It makes me chuckle (in a good way) to see those Rust-like numeric typedefs and Result in there.
    After moving to C++17, I sorely missed designated initializers, but liked that I could use some C++-specific features (e.g. templates, namespaces) and ignore the rest.

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

    this is actually the best mineclone i've ever seen
    i do wish there were more interesting blocks like stairs though

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

    i am very happy to see you back to the Chanel i really like your videos keep up the good work

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

    Glad to see you're getting a sponsor jdh! Keep up the good work!

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

    PFFFFFTTT Make Minecraft from scratch, anyone can do that but do it twice, now that's impressive.

  • @dpeter99
    @dpeter99 2 года назад +21

    Okay what the hell is up with people hating on c#?
    Yes it is MS developed but the whole thing is open source (compiler, runtime, libraries etc.)
    It is cross platform and with ahead of time compilation it has really good speed.
    So why the hate? I'm genuinely curious.

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

      I wouldn't say I hate it (I used to do a lot of projects with Unity) but for my specific use case it just does the job worse than other languages.
      If you want a garbage collected language take Go, if you want an easy to use take Python, if you want speed C++ or Rust, etc

    • @jdh
      @jdh  2 года назад +20

      Eh, I don't even hate it - I've used it at a few jobs full time even. My primary gripe is actually the same as C++: the language feels really bloated. Especially comparing with something like Java, it feels like (imo) there's a lot more you need to keep in your head while you're using it.

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

      @@jdh Java, C, C++, C#... How many languages do you know, if I may ask?

    • @jdh
      @jdh  2 года назад +10

      @@achille0072 "know" is a really strong word for any language 😄 I'm familiar with a lot of different ones (like touched on/messed around with/done projects in more than I would care to list or could probably remember) but most comfortable in Java and C

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

      Its basically just Java, but less original

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

    omg this is what I needed right now. Thanks man. You're a GENIUS!

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

    What a calm video to watch... thank you very much for producing this content.

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

    This was a great video, makes me want to pick up a new project! Would love to see a tutorial ;)

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

    Clearly should have done it in NodeJS

  • @KingBowserLP
    @KingBowserLP 2 года назад +6

    Nice work! As a C++ developer by trade, what I like about Rust is pretty similar to what brought you to C++ from C; Not having to fumble around with compiler macros, much nicer type definitions, straightforward value formatting etc. It also removes a lot of boilerplate code, provides sensible defaults, and its exception handling is much less fiddly.

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

    I am waiting for more! Thank you, that was a cool video)

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

    honestly I was a bit distracted and I kinda forgot it wasn't minecraft when you were building the house, job very well done

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

    modern C++ is sick

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

    Just tweak the AO a bit please, you could even render it at half the resolution but you absolutelly need to make it smoother and way less visible, it's meant to be a subtle effect.

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

    Omg you dont know how long i have been waiting for this awesome 🙌🏻

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

    It's super interesting learning about coding and game rendering works through this video, it's super informative! Also, I bet that new MacBook Pro is coming in really handy for code compiling while working on this project, I've heard it's really good at that.

  • @callmevarez867
    @callmevarez867 2 года назад +13

    Can't wait for jdh to build a unreal competitor running off a computer that he programmed and built himself

    • @astroid-ws4py
      @astroid-ws4py 2 года назад +1

      There are RISC-V and FPGAs for that to help

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

    It's odd, i have an internal war with myself on which lang i like more Odin or C#, cause on one hand i hate everything about the way C# handles memory, and it's OOP nature. It's extremely nice to type, and really costumizeable.. Also loving it in Unity since they compile away to machine code... And it's able to do manual memory management there as well.. That said, I'm also a really big fan of Odin, cause of it's data oriented nature, and simplicity, something amazing about the only loop being a for, and their consistentcy is godly, like one concept in one place means the same in another context and it's wild! Their approach to memory allocation is also quite awesome!

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

      C# has unsafe blocks. You don't have to let the CLR do everything if you don't want to.

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

      @@BrunodeSouzaLino correct, but not as open as using Unity Burst for C# :3 - tho new core 6 comes close!

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

    I hope to see more livestreams in the future as well!

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

    Oh yessss, he did it again !!!! love your work jdh

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

    C++ is one of the fastest programming languages out there so it’s rad

  • @R.Daneel
    @R.Daneel 2 года назад +20

    Elephant in the room - what's the bright line next to each cube before the shadow starts? You mention ambient occlusion, too, so I would have assumed "extra dark" in those spots. Is that a bug or an engine limitation? @8:05 ish. It's clearly visible everywhere shadows are shown.

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

      I suppose he just came up with a quick solution by blurring all of the edges of the shadows to a lighter color, hence a bright line at the start of the shadow right next to the cube.

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

      It is an artifact/bug from the shadows. To fix it JDH just needs to render everything front and back without any backface culling when creating the shadows maps. There is a full explanation in the comments of the learnopengl article mentioned in the video.

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

      Yeah, this bug kinda negates all the work he put into implementing ambient occlusion.

  • @Alderc1de
    @Alderc1de 6 месяцев назад +1

    Wow, this reminds me of old minecraft. (I didn’t exactly play around the time, but I’ve been doing some reviewing)

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

    This is pretty amazing! Maybe for the next episode you should add mobs to add life to the game

  • @anonymoussloth6687
    @anonymoussloth6687 2 года назад +7

    Me trying to render a simple cube in opengl: 😭😭😭😭 what am I doing in life??

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

      Same but with a triangle instead. Literally the first thing you do in opengl tutorials.

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

      Try Vulkan mate. 1000× more debuggable.

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

      @@shambhav9534 I believe the boilerplate though will be intimidating for beginners. That's why it's always recommended to start with opengl.

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

      @@syedahkam7164 I don't think beginners who can't code a thousand line boilerplate should even start doing graphics.

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

      @@shambhav9534 Thats reasonable

  • @SantiAcq
    @SantiAcq 2 года назад +7

    Idea: you should try to implement redstone into it

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

    I'm taking a C++ class this semester, so I'm excited to watch this video. I'll write off watching this video as studying during the weekend. And even if I couldn't, I'd probably watch this anyways. ;D

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

    Dude! You should make a good in-depth coding tutorial! You make some of the best stuff I've seen with out an engine!

  • @BlazertronGames
    @BlazertronGames 2 года назад +6

    What's your problem with C#? Similar syntax to java, speed is pretty much on par, but it seems like it has nicer features, and more flexibility.

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

      He said he didn’t like Java, and c# has a garbage collector which ig he doesnt like

    • @jdh
      @jdh  2 года назад +7

      My biggest issue is just language bloat tbh - if you're going to work in that sort of world of managed code, Java is at least a lot easier to keep in your head than C# I think. The language just feels like a bit more of a mess imo

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

      @@tommy4808 I do actually like Java a lot, it's probably the language I'm the most familiar with out of any - and 99.99999% of the time the garbage collector is fine - but for this project it comes down to portability (meaning not Java ☹), performance, and ease of adoption (meaning not C#) for me

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

      @@jdh What do you mean by bloat? Do you have some examples?

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

      @@jdh epic

  • @nialyavuzturk379
    @nialyavuzturk379 2 года назад +5

    Nah, Cpp is my favorite language

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

      same it's both low-level and high-level on the same time, depending on how you want to use it

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

    that deferred shading i feel really made this clone look a Lot like minecraft, more so than any other clones ive seen

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

    I was looking forward to seeing some pistons or a JDH version of redstone.

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

    As a Rust fanboy, I appreciate the friendly Rust hate. 👍

    • @jdh
      @jdh  2 года назад +6

      🦀🔫👨‍💻

    • @deviousengineer8398
      @deviousengineer8398 2 года назад +6

      How do you find a Rust dev? Pretty easy, they’ll tell you.

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

    Coming from your previous videos I was expecting something like „Recreating Minecraft in assembly without os in 24 hours“ but I like C++ so I liked this one too 👍

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

    The original video made me want to finally make strides towards learning game making. Thanks!

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

    Hi

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

      HI

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

      Hello first comment!

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

    I can't believe he don't use Morse code. I'm unsubscribe

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

    Impressive work. Looks like there is a bug with your ambient occlusion where it is inverting a your sun shadows to be lightened instead of additionally darkened.

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

    Great video, as always ! I think you gave me the want to experiment with C++

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

    These videos always get me in the mood to program something.

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

    I love the videos, you keep me inspired to code :)

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

    Nicely done, congrats!
    I'd turn down the AO a bit and try that the shadows really match to the corners. Properly the shadows don't clamp to the edges because of the resolution of the shadow map (which doesn't matter while creating worlds, but in close ups it's fairly recognizable). Usually the dropped shadow should be adjacent to a normal which faces away from the sun -> this information can get connected?
    I'm planning to write an engine in C++ as well, I like the language choice. Was thinking about doing it in C because it would deliver more compatibility for future porting, but I really would miss objects. Why didn't you use OpenGL directly with C++?

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

    Great Video!
    Now you could add some Caves and other Biomes and maybe a survival mode. :)
    Would be cool to watch you do that :D

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

    "C++ isn't memory safe"
    jdh: "But you see... much like classes, garbage collectors, and other stuff you don't need, you don't NEED memory safety."

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

    I don't know what your talking about but your voice is relaxing. Pls don't stop making videos

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

    One thing in lighting and graphics which you omitted was that lighting is calculated backwards.
    You have a light, then you cast a ray to that light and follow it till it finally reaching the light.

    • @inv41id
      @inv41id 2 года назад +5

      That's not really what is happening here, shadow mapping is wildly different from any sort of ray tracing.

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

      Also, not even true with most real time ray tracing. Those calculate each "bounce" forward from the light.

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

      @@SimonBuchanNz Do they though? I thought the typical raytracing method is to trace a ray from each pixel of the camera (presumably from the near plane) because otherwise the vast majority of the light rays never hit the camera and are wasted effort.

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

      @@clonkex it's a bit messier than that, since you need to take lots of samples per pixel per bounce, and lots of bounces per sample to get a convincing image, so the naive, brute force approach lots of offline renderers use isn't feasible. Different RT GI implementations have different specifics for working around this, but they all generally amount to persisting the amount of light in the world at each point and then iterating on bouncing it around, which has the effect of flowing the light from the source around the scene before it reaches the camera.
      That said, the actual form of the persisted world lighting is very heavily camera influenced (to the point of being screen space for Q2RTX), so yeah, not a nice clean answer.
      RT shadows might be pretty much tracing in reverse, but I don't know if I quite count a single bounce as having any direction?

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

    notch: Lets make minecraft in lwjgl
    jdh: imagine not doing this on your own custom built computer with a custom built graphics card with your own custom operating system using your own programming language with your own graphics library... what a newby

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

    FWIW, it is possible to do namespaces in C. It's not a built-in language feature, but with C99 and the inline keyword, it's possible to do link-time mangling and compile-time demangling through the use of definition macros and import macros. In practice, it's actually not that bad. You get the same benefits of C++ style namespaces, namely, no compile-time or link-time name clashes of publicly defined functions, types, and globals.

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

    You video just made my day. :) I'm sick, and so I'm happy that you posted. (:

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

    4:05 std::format is available in clang-14 (using libc++ instead of libstdc++) as well as MSVC

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

    Very nice video, really interesting! But could you, perhaps, make a more in-depth video on your thought process of making a 3d engine. It's a very interesting topic for beginners like me and it would help a lot.

  • @ellion0815
    @ellion0815 Месяц назад +1

    3:40 One of the great dangers of C++: You feel safe.

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

    You have mad a promise. More Game Dev videos. I will be waiting

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

    "Flame wars will boost engagement anyway."
    Truly, a man of inimitable wisdom.
    (I too have a soft spot for C++, despite being a huge Rust shill. It makes me wanna tear my hair out sometimes, but I did a lot of robotics stuff with it in high school.)

  • @mr.norris3840
    @mr.norris3840 2 года назад +1

    I‘ve scrolled a bit through the comments and haven‘t seen a single reference to the clearly superior language.
    So here it goes:
    *Rust.*
    Let the carnage begin

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

    Dude you should just make an entire series and finish the major parts of the game before all the content and stuff just to style on Mojang, that’ll be hilarious. Amazing progress tho, looks so much better than the real game already

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

    Well made video youre good at editing and coding

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

    Your ideas are intriguing to me, and I wish to subscribe to your newsletter.

  • @KyleGarzon-gx3hd
    @KyleGarzon-gx3hd Год назад

    Jdh: Makes minecraft twice in C and C++
    Me: Struggling to make a tetris board render in C#