I programmed Minecraft from scratch... again.

Поділитися
Вставка
  • Опубліковано 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 UA-cam. 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 UA-cams. 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 роки тому +5

      🦀🔫👨‍💻

    • @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

  • @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#