I programmed Minecraft from scratch... again.

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 1,3 тис.

  • @jdh
    @jdh  2 роки тому +224

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

  • @thegavinjackson
    @thegavinjackson 2 роки тому +4198

    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 роки тому +457

      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 роки тому +177

      @@jrgerba thats why its a joke.

    • @jdh
      @jdh  2 роки тому +2184

      give me a few months

    • @M9625Rahul
      @M9625Rahul 2 роки тому +25

      omg!

    • @noam5153
      @noam5153 2 роки тому +88

      He’s gotta build the monitor this all displays on

  • @williamjpriest7475
    @williamjpriest7475 2 роки тому +3374

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

    • @not_herobrine3752
      @not_herobrine3752 2 роки тому +97

      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 роки тому +13

      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 роки тому +1683

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

    • @DeuxisWasTaken
      @DeuxisWasTaken 2 роки тому +81

      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 роки тому +9

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

    • @t3v727
      @t3v727 2 роки тому +9

      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 роки тому +19

      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 роки тому +1211

    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 роки тому +31

      c++ is the best

    • @Catonator
      @Catonator 2 роки тому +161

      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 роки тому +26

      @@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 роки тому +216

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

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

      It's for combatabity

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

      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...

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

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

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

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

  • @cgfgsks201
    @cgfgsks201 2 роки тому +401

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

    • @the_zlatk0
      @the_zlatk0 2 роки тому +39

      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 роки тому +71

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

    • @ИльяВитцев
      @ИльяВитцев 2 роки тому +47

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

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

      @@ИльяВитцев so what? Writing a compiler is definitely not an impossible task, people do that all the time in unis

  • @halberd3776
    @halberd3776 2 роки тому +384

    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 роки тому +175

      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 роки тому +267

      I like your funny words magic man

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

      ​@@__8120 AHHAHAHAHA

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

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

    • @SimonBuchanNz
      @SimonBuchanNz 2 роки тому +13

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

  • @alexanderdavis319
    @alexanderdavis319 2 роки тому +80

    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!

    • @lossen1984
      @lossen1984 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 роки тому +11

      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.

  • @AndrewScott007
    @AndrewScott007 2 роки тому +182

    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 роки тому +24

      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 роки тому +180

    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

  • @Tantandev
    @Tantandev 2 роки тому +50

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

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

  • @GameKraken
    @GameKraken 2 роки тому +16

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

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

    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)

  • @popeofrei4124
    @popeofrei4124 2 роки тому +143

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

    • @ilmalocchio
      @ilmalocchio 2 роки тому +16

      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)

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

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

  • @CeilingPanda
    @CeilingPanda 2 роки тому +42

    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

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

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

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

  • @luizchagasjardim
    @luizchagasjardim 2 роки тому +35

    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.

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

    2:01 Jokes on you, you picked my favorite language.

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

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

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

    0:40 - "Languages with classes..." - Ever heard of Java? The language Minecraft is written in?

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

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

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

  • @Magnogen
    @Magnogen 2 роки тому +34

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

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

    The altered C programming textbook (by -Denis Richie- Bjarne Stroustrop) freaking killed me! LMAO!!! 🤣🤣🤣

  • @_M_643
    @_M_643 2 роки тому +9

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

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

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

    petition for hdj to make a

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

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

    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 роки тому +22

      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 роки тому +12

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

  • @gedsgreg
    @gedsgreg 8 місяців тому +1

    Challenge: making Minecraft from scratch but multi-threaded and in bash.

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

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

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

    Your Minecraft videos were some of my favourite videos on UA-cam. Thanks for making more!!!

  • @0yousif0
    @0yousif0 2 роки тому +34

    Programmers when they have free time :

  • @ellion0815
    @ellion0815 7 місяців тому +1

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

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

    The Cherno should do a code review!

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

    In my Opinion the best language is Swift:
    -Really new and powerful
    -No external 3rd party stuff needed
    -fastest language in the world
    -easy to learn
    Only downside its only for Apple

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

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

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

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

    Clearly should have done it in NodeJS

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

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

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

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

  • @Coolguy-sf8nr
    @Coolguy-sf8nr 2 роки тому +1

    3:02 Congratulations you just made the first version of Minecraft!

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

    Idea: you should try to implement redstone into it

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

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

    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!

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

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

    modern C++ is sick

  • @Arcann_bhp
    @Arcann_bhp 9 місяців тому +1

    Nah that’s not enough, you got physically flip the bits and make Minecraft

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

  • @_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.)

  • @R.Daneel
    @R.Daneel 2 роки тому +19

    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.

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

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

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

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

  • @marble-q6j
    @marble-q6j 2 роки тому +3

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

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

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

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

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

    jdh in 2 years: Ok so maybe OOP isn't so bad so now I'll make Minecraft again but in C#

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

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

    You are starting to scare me with your abilities, jdh.

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

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

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

    I really wanna see someone recreate Minecraft with 100% accuracy. Something that could fool someone into thinking its not a remake.

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

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

    I know this video is more of a technical exercise, but you generally wouldn't use soft shadows for sunlight. This is because the sun is far enough away that it effectively acts as a single point casting rays, making shadows have very hard outlines. Soft shadows are instead used when lighting indoor scenes where the volume of the light source causes objects to be lit from multiple angles by the same light, creating points which are only lit by a portion of the light. Larger lights like fluorescent bar lights make the softest shadows (by design), while smaller bulbs are somewhere in between.

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

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

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

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

  • @Ghoul-dash
    @Ghoul-dash 2 роки тому

    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

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

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

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

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

    Hi

  • @KyleGarzon-gx3hd
    @KyleGarzon-gx3hd Рік тому

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

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

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

  • @b4ph0m3tdk9
    @b4ph0m3tdk9 10 місяців тому

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

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

    If only Minecraft was this well optimized on either version...

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

    I am programming my own voxel engine in Rust. There is an insane Vulkan powered engine in Rust called Bevy.

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

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

    VIDEO IDEA: Joining a game jam

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

  • @wonder.of_.u
    @wonder.of_.u 2 місяці тому

    i'm struggling with simply starting to study and this guy it's just casually coding a 3d renderer. I better start working lmao

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

    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.

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

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

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

    I love how he jusr KNOWS everyone's gonna be on his case about rust xD

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

    Other end, make it in scratch junior

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

    "[... same BASIC technique..] There is NOTHING basic about this. You are the epitome of humble.

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

    This in my opinion is the minecraft clone which looks the most like minecraft, AND HE MADE THE ENGINE ALSO DUDE WTF, Im just amazed.

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

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

  • @joel-k
    @joel-k 2 роки тому +1

    As a superfan, you recommending lotr made me subscribe instantly

  • @Son_İsekai_Bukucu
    @Son_İsekai_Bukucu 8 місяців тому

    It would be great if you could break inventory blocks, create health and hunger bars, and create creatures as well.

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

    Just to know when you have a sponsor we expect no additional ads, no matter what.

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

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

    you should have programmed it in [Insert Obscure Language], its SOOooo much better at [insert random feature that no one asked for] and it even does [insert something that is pushed into your face by everyone who uses this random programming language but is useless to most people]

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

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