I made an EVEN BETTER Minecraft

SdĂ­let
VloĆŸit
  • čas pƙidĂĄn 28. 02. 2021
  • I tried to make Minecraft even better than I did before.
    🛒 Recommended books (on Amazon): www.amazon.com/hz/wishlist/ls...
    ❀ Support me on Patreon: / simondevyt
    🌍 My Gamedev Courses: simondev.teachable.com/
    Disclaimer: Commission is earned from qualifying purchases on Amazon links.
    Follow me on:
    Twitter: / iced_coffee_dev
    Instagram: / beer_and_code
    Github: github.com/simondevyoutube/
    Here I tried to code Minecraft using JavaScript and Three.js, completely from scratch, to try to fix the problems from the previous implementation.
    The goal was to try to improve on the previous version, was was mostly a start project to learn JavaScript and three.js.
    In the previous implementation, I used instancing to get around draw call limits and complexity around merging geometry, but this time I just bit the bullet and did the actual work. I move from there by integrating chunking in the world, followed by multithreading using Chrome's module workers extension, which dramatically improved performance. I investigated various ways to texture, wrote custom shaders to atlas all the textures together in a simple way using texture arrays. From there I moved on to using perlin noise for a full, infinite procedural world. Standard perlin noise works great for basic rolling hills, but you need to do operations on it like looping for fractal brownian motion in order to get that detail and different environments.
    That gives us a procedural world, from there we covered how to procedurally create foliage using signed distance functions and l-systems, which was covered in a previous tutorial. Finally, we went ahead and used layers of perlin noise to create biomes and different areas in the world, as you see in the video.
    Source will is available on github, or will be when I clean it up. If it's not there by the time this is posted, look for an announcement from me either on my community posts or twitter for when the source is available.
    Various resources:
    Music: www.bensound.com
    Inigo Quilez's site is THE reference for stuff like SDF's:
    www.iquilezles.org/www/articl...
    Demo was a horribly modified version of:
    www.shadertoy.com/view/lt3BW2
    Model from:
    sketchfab.com/3d-models/minec...
    AO:
    0fps.net/2013/07/03/ambient-o...
  • Věda a technologie

Komentáƙe • 860

  • @simondev758
    @simondev758  Pƙed 3 lety +65

    Patrons can now vote for the next video! Thank you for your support.
    ❀ Support me on Patreon: www.patreon.com/simondevyt
    🌍 Live Demo + Courses: simondev.io

    • @justanotherhotguy
      @justanotherhotguy Pƙed 3 lety +1

      Thank you!

    • @flaviogomes
      @flaviogomes Pƙed 3 lety +3

      Can you post controls please? ^^

    • @puffer4909
      @puffer4909 Pƙed 3 lety +4

      Actually man, this CPU is still rocking as it was the second best for its plattform and DDR3, after the i7-5690X, which was way more expensive. You actually have a really good old CPU under your hood, still using the same - still playing ultra with a gtx 1070 on FHD in every game until 2019. Yes, there is better - but this is definitly not a low-performance CPU. CPU those days have doubled in performance since this day, but that is 7 iterations of CPU design and performance doubling is actually not that much after all those years.

    • @simondev758
      @simondev758  Pƙed 3 lety +3

      @@puffer4909 Maybe I shouldn't be in a rush to get a fancy new ryzen, really need a better gpu though. That WOULD make a big difference.

    • @weslleymatheus3643
      @weslleymatheus3643 Pƙed 2 lety

      Olå cara, como vc aprende? Sou brasileiro e não acho muita informação sobre essas biblioteca.

  • @noiamhippyman
    @noiamhippyman Pƙed 3 lety +1174

    I love programmers. Knows how to program an entire Minecraft clone, doesn’t know the name for a pick axe. Lol

    • @simondev758
      @simondev758  Pƙed 3 lety +147

      Hah, what did I call it?

    • @noiamhippyman
      @noiamhippyman Pƙed 3 lety +138

      @@simondev758 Not sure if this is exact but it was something like "mining pick thingy" lol

    • @rafftune
      @rafftune Pƙed 3 lety +10

      Yeah, I think it is pickaxe altogether.

    • @somerandomchannel382
      @somerandomchannel382 Pƙed 3 lety +8

      If he said, and I'm Morgan Freeman. I would 100% believed it.
      One guy casually talks and remakes a world majority of gamers are living in all ways better with math and lifelike science. Which result is better then what an esembled team from world biggest cooperation can accomplish.
      yeah, he is a real God

    • @kushagrachaudhary6645
      @kushagrachaudhary6645 Pƙed 3 lety +7

      Miner's pick thingy

  • @nathanfranke9095
    @nathanfranke9095 Pƙed 3 lety +728

    "I'm going to make cubes for the clouds" - ok
    "I made a quad and shader for the sun" - OKAYY...
    "I made two cubes for the crosshair" - AAAAAAAAA

    • @metagen77
      @metagen77 Pƙed 3 lety +11

      This is the best way to do it

    • @simondev758
      @simondev758  Pƙed 3 lety +97

      Yeah the cubes for crosshair was just laziness :(

    • @Tumbolisu
      @Tumbolisu Pƙed rokem +8

      I think what Nathan Franke is going crazy about is the fact that the clouds are cuboids (not cubes), the sun is a square (a special case of a quad) and the crosshair is 2 rectangles or 2 cuboids (not cubes).
      Mathematically it is incorrect to call a shape a cube unless it is convex, only has right angles, and all side lengths are equal. In certein regional dialects it is common to call anything with right angles a cube, but for most of the world, including non-native english speakers, it just sounds utterly insane.

    • @nathanfranke9095
      @nathanfranke9095 Pƙed rokem +16

      @@Tumbolisu Fair points, but my original comment was poking fun at Simon using 3d shapes for things that should be flat. For the record, i think the sun and clouds make sense, but for the cross hair i think it would be much better to render it directly to the screen using primitive 2d shapes, making it much more versatile.

    • @FifinatorKlon
      @FifinatorKlon Pƙed 3 měsĂ­ci

      ​@@Tumbolisu None of the things in this video are cubes due to the fact that cubes are 3 dimensional by definition. All we can see is a 2d abstraction of the concept of a cube.

  • @ege.the.engineer
    @ege.the.engineer Pƙed 3 lety +140

    8:33 "Meh, look at that poor tree"
    9:22 " *Holy Sh*t What The F*ck* "

  • @kosnk
    @kosnk Pƙed 3 lety +482

    Simon, this is amazing! The soft ambient shadows, the trees, the smiling moon landscape, everything! Thanks for sharing this!

    • @simondev758
      @simondev758  Pƙed 3 lety +31

      No worries, glad you enjoyed it :)

    • @metagen77
      @metagen77 Pƙed 3 lety

      F Miss this shit!

    • @williamwester223
      @williamwester223 Pƙed 3 lety +1

      I'd love to see you make this into a full fledged game that is not a clone of minecraft but still based off it like you've been doing.

    • @williamwester223
      @williamwester223 Pƙed 3 lety +1

      Don't copy minecraft though just make your own game

    • @metagen77
      @metagen77 Pƙed 3 lety

      @@williamwester223 Why not copy it?

  • @Alhoshka
    @Alhoshka Pƙed 3 lety +126

    4:48 - Look at the madman programming in GLSL in a string within js code, without IntelliSense, linting, auto-formating, or highlighting. like it was nothing.

    • @ezequielgarrido51
      @ezequielgarrido51 Pƙed 3 lety +14

      I got a panic attack just thinking about debugging that.

    • @user-dh8oi2mk4f
      @user-dh8oi2mk4f Pƙed 2 lety +6

      There’s really no other way to do it. If he put it into a different file, he would have to load it, and JavaScript loads files asynchronously which could make things a lot harder.

    • @turner-tune
      @turner-tune Pƙed 2 lety

      Was thinking the same exact thing, like what the hell lol!

    • @TristanPopken
      @TristanPopken Pƙed 2 lety +3

      @@user-dh8oi2mk4f I also use glsl for my shaders, and instead of writing them in the code i just have another txt file. The code then converts that into a string and loads it up.
      Still, i need to code all of it on intuition without any IDE support

    • @traysonkelii7062
      @traysonkelii7062 Pƙed 2 lety

      Yeah this is wild, not to mention there was no copy paste. This guy is brilliant

  • @haph2087
    @haph2087 Pƙed rokem +18

    About the 4096 height limit thing. 320 is the default height limit, but the game lets you actually change it in the worlds' config, up to 4064 (according to the wiki, that's the limit. It might be a typo and actually be 4096, idk).

  • @lafemmedevastation
    @lafemmedevastation Pƙed 3 lety +128

    You're like the Bob Ross of game programming: "...and now we have a little tree thingy." Making it look easy while your voice soothes souls. *c;*

  • @dolalmoth
    @dolalmoth Pƙed 3 lety +107

    Wasn't expecting the SDFs and L-System trees. Very awesome!

    • @simondev758
      @simondev758  Pƙed 3 lety +10

      ty! I'm glad they worked out, been looking for an application for the l-systems for a while

  • @monde7563
    @monde7563 Pƙed 3 lety +311

    My good sir, you have no idea how much an impact you are having on some people's careers, Including mine.

    • @simondev758
      @simondev758  Pƙed 3 lety +40

      That's great, I've love to hear more about how this is helping you.

    • @MilkIsTheOne
      @MilkIsTheOne Pƙed 3 lety +6

      @@simondev758
      This looks like optifine's internal shaders.
      But great job tho!

    • @brunnomenxa
      @brunnomenxa Pƙed 3 lety +4

      Including MINEcraft

    • @LucasPedroso25
      @LucasPedroso25 Pƙed 3 lety

      É verdade!

  • @isaipack
    @isaipack Pƙed 3 lety +170

    Man, not even the Mojang guys fixed this shadow bug when deleting blocks.

  • @tomg0
    @tomg0 Pƙed 3 lety +46

    Awesome! I started making a minecraft clone in JS a few weeks ago using vanilla webgl 2. Definitely not an easy task. My main challenge was storing the chunks in a way that they can be accessed as quickly as possible and also be saved as in a file that can be loaded again.

    • @simondev758
      @simondev758  Pƙed 3 lety +14

      Yeah if I was to follow up, that's one area I'd like to improve. Storing a chunk right now is memory intensive, but there's a lot of low-hanging fruit on the table in terms of improving both gpu and cpu memory layout.

  • @bungiebee4049
    @bungiebee4049 Pƙed 3 lety +30

    This is the greatest minecraft recreation I have ever seen.

  • @EdSchroedinger
    @EdSchroedinger Pƙed 3 lety +40

    "This Old Tony", but it's game development, coding, javascript...
    just found your channel in my recommendations... well, every now and then youtube seems to drop a diamond.

  • @PersonManManManMan
    @PersonManManManMan Pƙed 3 lety +13

    Dancing "cubes" to illustrate hollow sides was nice touch to explain the subject, the attention to detail is great! 👍

  • @nathanfranke9095
    @nathanfranke9095 Pƙed 3 lety +20

    6:32 - That was a painful copy+paste

    • @simondev758
      @simondev758  Pƙed 3 lety +5

      Yeah that was pretty gross, 4 nested for loops I think?

  • @reeven1721
    @reeven1721 Pƙed 2 lety +22

    Simon, you're basically coding ASMR and that's fantastic.

  • @dandymcgee
    @dandymcgee Pƙed rokem +16

    Seems easy enough!
    *10 years later*
    I am a failure. 😭

  • @timwells3171
    @timwells3171 Pƙed 3 lety +4

    This is awesome! I love these kinds of videos, making unique versions of Minecraft.

  • @dimitribobkov-rolandez5729
    @dimitribobkov-rolandez5729 Pƙed 3 lety +4

    I've pretty much binged a lot of your content here, loving the content!

  • @ToothlessXDIn
    @ToothlessXDIn Pƙed 3 lety +7

    Wow. a lot to learn from you. Really appreciate that mentioning the techniques you are using for the project.

    • @simondev758
      @simondev758  Pƙed 3 lety +5

      Lemme know if there's areas you want expanded in more depth too.

  • @HritikRC
    @HritikRC Pƙed 3 lety +3

    Wow! Well done Simon! I started making a tutorial on how to code minecraft, inspired by your previous minecraft video, and now, you just dropped a thousand more ideas! Thanks a lot! As usual, brilliant video!

    • @simondev758
      @simondev758  Pƙed 3 lety

      Awesome, I remember you building out one from last year. Happy if this gives you a few more ideas to integrate.

  • @creaky2436
    @creaky2436 Pƙed 2 lety +3

    You’re a js maniac dude. I’m inspired to learn math and algorithms to really take my js to the next level because of you. Great work!

  • @Mighteyes
    @Mighteyes Pƙed 3 lety +3

    Great job! I would love to see trees like yours in the official Minecraft. I kinda like having small trees too, but I think a big mix of trees like the ones you made as well as some standard Minecraft trees together would look really cool

  • @mikester4896
    @mikester4896 Pƙed 3 lety +17

    SimonDev: *makes Minecraft clone*
    Clippy: It looks like you're making a Minecraft clone.

  • @anthonysmith1112
    @anthonysmith1112 Pƙed 2 lety +4

    This video is fantastic! I wish you would do a playlist, a sort of a three.js tutorial while progressing through different topics creating Minecraft clone as the final result. The work you do here is amazing. It's a bit difficult for me to follow though. I would love to see a series where things are broken down a bit more. That would be awesome!

  • @anthonysylvester740
    @anthonysylvester740 Pƙed 3 lety +4

    Your content is absolutely above and beyond. Thank you so much for taking the time to make these videos.

    • @simondev758
      @simondev758  Pƙed 3 lety +2

      No worries! If you have suggestions for future videos, let me know

  • @buttersmars2277
    @buttersmars2277 Pƙed 3 lety +1

    Really awesome job, Simon! I enjoy the beautiful scene you created so much, and I want to have a try on threejs now.

  • @xAxtroz
    @xAxtroz Pƙed 3 lety +4

    Pretty amazing stuff! Love your videos man.

  • @pist5343
    @pist5343 Pƙed 3 lety +2

    Awesome as always, Simon! :D
    The trees are superb!

    • @simondev758
      @simondev758  Pƙed 3 lety

      Yeah I was really happy with the trees!

  • @Fritztafer
    @Fritztafer Pƙed 3 lety

    Wow, awesome stuff very thought provoking!

  • @calliope_x3
    @calliope_x3 Pƙed 3 lety

    first time seeing your channel, and I'm super impressed! subscribed!

  • @Nizart
    @Nizart Pƙed 2 lety +4

    I don’t know why, but you voice is so incredibly calming. I would like to listen to audiobooks read by you all night.

  • @matthewhamby5749
    @matthewhamby5749 Pƙed 3 lety +16

    Hey, do you think you could start breaking these kind of projects up into multiple videos / a playlist? I love seeing this stuff come together and would definitely binge a 60-video playlist watching you develop each component! Thanks for what you do!

    • @simondev758
      @simondev758  Pƙed 3 lety +4

      A lot of the building blocks are covered in previous tutorials, and anything that isn't, like SDF's, I have plans to cover.

  • @NorppaCast
    @NorppaCast Pƙed 3 lety +1

    This is really awesome. Great job and a great video!

  • @fr3ddyfr3sh
    @fr3ddyfr3sh Pƙed 3 lety +1

    Thanks for the glimpse into SDF‘s

    • @simondev758
      @simondev758  Pƙed 3 lety

      No worries, I'll probably try to follow up with something more in-depth on those specifically at some point.

  • @greenstonegecko
    @greenstonegecko Pƙed rokem +1

    wow some of those terrains are the end really reminded me of minecraft alpha world generation. Really impressive.

  • @frenchkiwii
    @frenchkiwii Pƙed 3 lety +4

    You guys can all agree with me that we NEED a part 2 of this amazing video

  • @amitmatalon
    @amitmatalon Pƙed 3 lety +1

    Amazing video Simon! Thank you!!

  • @justinscotty1450
    @justinscotty1450 Pƙed 3 lety +1

    Once again amazing video Simon! Hats off!

  • @igrb
    @igrb Pƙed 3 lety +8

    I'm so happy to find your channel simon! the content is incredible and I never saw someone going this deep into these topics with javascript.
    Thank you, I've been learning so much!!

    • @simondev758
      @simondev758  Pƙed 3 lety

      No worries, glad you're getting value from it!

  • @glenns_AI
    @glenns_AI Pƙed 2 lety

    Using exact same card doing exact same things - glad to have found your channel ;)

  • @ignacio3460
    @ignacio3460 Pƙed 3 lety +1

    Super cool! I hope you eventually make a version with a quadtree for chunks of varying voxel size and maybe even a voxel planet

    • @simondev758
      @simondev758  Pƙed 3 lety +1

      Yeah I was kinda toying around with that same idea!

  • @Auctux
    @Auctux Pƙed 3 lety

    The naming of variable is on point ! (papa and baba) , nice video ✌

  • @indycinema
    @indycinema Pƙed 3 lety +4

    Finally! Someone doing real work in 3D in the browser. Bravo!

    • @simondev758
      @simondev758  Pƙed 3 lety +1

      Heh, it's just such a nice and easy environment to work in

  • @schrodingcheshirecat
    @schrodingcheshirecat Pƙed rokem +1

    This is awesome. Looks great.

  • @Maxjoker98
    @Maxjoker98 Pƙed 5 měsĂ­ci +1

    I have an even hackier version of instancing for my Babylon.js Voxel game prototype: Since I needed to know how transparent textures looked when rendered properly, the simple instancing didn't work, as it produced way to many faces. But you can pre-create one instance per face combination(64 possible face combinations), and cull faces that way.

  • @shazesalvia
    @shazesalvia Pƙed 3 lety +20

    Him: I only got a GTX 710 ti
    Me: Have you ever seen a GT 530? No, well, i got it.

    • @simondev758
      @simondev758  Pƙed 3 lety +1

      Woah

    • @kmineblox600z
      @kmineblox600z Pƙed 3 lety +1

      Oh wow never heard of it

    • @NeverIucky
      @NeverIucky Pƙed 2 lety

      Have u ever seen palit GT240 with broken cooler? Or 8800GTS 640MB with black screen in CSGO?

  • @pfmugge6431
    @pfmugge6431 Pƙed 3 lety +4

    The procedurally generated trees are such a cool idea to implement in a minecraft-style game. Sadly they are too big for my taste (when speaking of actually playing in a minecraft world like this) and its a shame that its next to impossible to have them at a scale that is more minecraft-ish. They still look pretty awesome tho!
    Really cool video and insights!

  • @Martinit0
    @Martinit0 Pƙed měsĂ­cem

    Idea for EVEN EVEN BETTER Minecraft:
    Make hierarchically subdivisible blocks, i.e. every block can be divided into a 3x3x3 subblocks which you can then shape. Make it go down several levels of hierarchy.
    Why: Can make more complex shapes. Can make more complex logic (like try to make a CPU out of minecraft boolean blocks).

  • @DerSolinski
    @DerSolinski Pƙed 4 měsĂ­ci

    This is the most indifferent "Let's build a Minecraft" I've ever seen.
    Glorious!

  • @kylefriel1392
    @kylefriel1392 Pƙed 3 lety +1

    more of this content please!

  • @exonymat1471
    @exonymat1471 Pƙed 3 lety +1

    Definitely an impressive go, reminds me a lot of classic Minecraft!
    If you ever end up working a bit more on this looking at Minecraft mods could bring some inspiration! Optimisation mods in particular like Sodium, BetterFPS and Optifine could be the basis to help your game perform even better and mods like Harvestcraft and Biome Bundle can bring some inspiration for things like world generation/decoration

  • @enijar
    @enijar Pƙed 3 lety +2

    This is awesome work!

  • @hamzzashaffi
    @hamzzashaffi Pƙed 3 lety +1

    Great as usual! Thanks Simon! :)

  • @SizzlingSquiggle
    @SizzlingSquiggle Pƙed 3 lety +4

    Very cool. The ambient inclusion changed everything, I think

    • @simondev758
      @simondev758  Pƙed 3 lety

      Yeah it was a gamechanger for the visuals. I'm sure if I went and implemented their voxel based GI, would be even nicer. Maybe v3.

  • @Nexus-rt1bm
    @Nexus-rt1bm Pƙed 3 lety

    Amazing work, Simon.

  • @eballer48
    @eballer48 Pƙed 3 lety +4

    Love a SimonDev vid! Great as always :o
    You make threejs seem so easy, and it is somewhat with their extensive example library, but I realize pretty quickly if you don't know glsl you've very limited... any chance you could do a video specializing on on shaders or break down the shader code your write a bit more? Thanks!

    • @eballer48
      @eballer48 Pƙed 3 lety +4

      Also your 'yays' crack me up you sound like the male version of Tina from Bob's burgers.

    • @simondev758
      @simondev758  Pƙed 3 lety +4

      Yeah I'll be breaking down some of the more specific techniques in their own videos.
      re: Bob's Burgers: hah yeah I can totally see that

  • @danhorus
    @danhorus Pƙed 3 lety

    Loved those trees. Great job :)

  • @amurrjuan
    @amurrjuan Pƙed 3 lety +3

    Your mountains look amazing

    • @simondev758
      @simondev758  Pƙed 3 lety +1

      ty

    • @Furiousky
      @Furiousky Pƙed 3 lety +1

      @@simondev758 will you do another episode of this? I would love to see wildlife and/or more plants like grass or flowers.

  • @reyariass
    @reyariass Pƙed 3 lety

    In before you become popular! Great video, I would love to see where you take this in the future and what cool things you add to it. (Probably shouldn’t call it Minecraft But Betterâ„ąïž)

  • @MrSaemichlaus
    @MrSaemichlaus Pƙed 3 lety +1

    I can't believe you even thought of rounding the clouds corners off! :)

  • @gaia35
    @gaia35 Pƙed 3 lety +3

    Minecraft used to feel like this.
    I miss seeing the noise maps in the terrain.

  • @danielzaiser
    @danielzaiser Pƙed 3 lety +1

    I watch your videos in bed, they really help me fall asleep, thanks! 👍

  • @alexisrodriguez7127
    @alexisrodriguez7127 Pƙed 3 lety +1

    I love the trees

  • @netpeggle4458
    @netpeggle4458 Pƙed 3 lety +1

    i realy like the look of the tree :)

  • @MarB_Music
    @MarB_Music Pƙed 3 lety

    Cool! I didn't know that you can do stuff like this with javascript. I use it a bit at work for creating web apps :)

  • @jordicowern6632
    @jordicowern6632 Pƙed 3 lety +1

    The generation is really cool on this one, the tree gen and mountains, I think that if you continue this, try working on water physics like Minecraft, where you can make gravity very weak and allow the player to swim up, and maybe you can add some kind of underwater shader. Good work man!

    • @simondev758
      @simondev758  Pƙed 3 lety

      I kinda wanted to do water too, but decided to wrap this one up. Maybe next go-around I'll try.

    • @jordicowern6632
      @jordicowern6632 Pƙed 3 lety

      @@simondev758 I might try to make a Minecraft clone in the future, if I do, I am going to add a lot of other features like water physics, maybe farming, hopefully crafting recipes. But I am most comfortable using unity, so that's where I would make it.

  • @BlueDiamondYTB
    @BlueDiamondYTB Pƙed 3 lety

    there is some super idea there

  • @jamesmathai1138
    @jamesmathai1138 Pƙed 3 lety +10

    You sound just enough like rami malek that I couldn’t help imagining Elliot alderson.

  • @nellocalisthenics
    @nellocalisthenics Pƙed 3 lety

    Hi man i was just wondering after viewing your videos if a project can be made. I remember playing in Minecraft Servers with a sort of RPG mode to kill monsters and gain money > buy and form an economy by that. It would be nice to have you explaining how minecraft plugins can be made, work or just experiment with it, economy is also very fun, i would be glad to see that. Your videos are amazing.

  • @cirospaciari5015
    @cirospaciari5015 Pƙed 3 lety

    Great video, waiting to see the github ro explore more code :D

    • @simondev758
      @simondev758  Pƙed 3 lety +1

      Code's coming soon, gotta just clean it up.

  • @werrutkyupnext
    @werrutkyupnext Pƙed rokem +1

    this is fire and inspriring

  • @bloooops
    @bloooops Pƙed 3 lety +5

    If you don't look carefully it actually looks like Minecraft. Also I love the terrain generation.

  • @eirikmurito
    @eirikmurito Pƙed 3 lety

    You nailed it bro

  • @root4098
    @root4098 Pƙed 3 lety +1

    I'd recommend switching out the perlin noise for voronoi noise. older versions of minecraft used voronoi and many people prefer minecrafts old world generator which utilized the voronoi noise. Gives much cooler generation. a game like minecraft was never supposed to have those wide open spaces

  • @Not_Aran8276
    @Not_Aran8276 Pƙed 4 měsĂ­ci

    I love how the video caption is in Vietnamese, translating it to English makes it pure comedy.

  • @kiwolf7776
    @kiwolf7776 Pƙed 3 lety +1

    9:44 It does. It has a 4096 build high limit. The only thing, is that the game stops let you place blocks at 320. But there are some ways to break this block.

  • @dagmawiabey8358
    @dagmawiabey8358 Pƙed 2 lety +2

    this doesnt look like its coded in JS good job man keep it up!👍

  • @falxie_
    @falxie_ Pƙed 3 lety

    I'm really impressed by the trees

  • @Brahvim
    @Brahvim Pƙed 3 lety +10

    You deserve more subscribers than Sam Hogan, judging this! Also you helped me prove to my cousin as to how Game Engines are not everything. I am learning p5.js here and hope to learn THREE.js soon too! Thanks! :D!

  • @pengain4
    @pengain4 Pƙed rokem +1

    Your channel is underappreciated.

  • @aj35lightning
    @aj35lightning Pƙed 3 lety +1

    all the different techniques used, that was insane

    • @simondev758
      @simondev758  Pƙed 3 lety

      A lot, but they're pretty simple and quick to learn

    • @aj35lightning
      @aj35lightning Pƙed 3 lety +1

      @@simondev758 simple is pretty relative haha. A lot of these I would have never thought to do on my own. If you wanted to do a paid "advanced techniques course" I think you definitely could.

    • @simondev758
      @simondev758  Pƙed 3 lety

      @@aj35lightning I'll definitely think about it, ideally I'd like to just give this info for free
      But also wanna pay for things with money, so gotta find a balance
      I'll see if patreon gets me far enough

    • @aj35lightning
      @aj35lightning Pƙed 3 lety +1

      @@simondev758 yeah I really admire that your giving this out for free. Also why I admire Yuri's channel and livestreams. I learn so much from them. He also came out with a course and it seems pretty successful. It's focused more on general webgl website integrations, not game dev specifically. Even if most of the information is out for free I think there's value in aggregating it all and having a guiding curriculum for ppl to follow and complete. Some ppl only look for courses, paid or free, like the mega videos on the freecodecamp channel. Like they find a topic they wanna learn and binge a course vs looking for random videos in that topic. Really Not trying to push you to do it, I know making a course would be a pain and a lot of work. More just wanted to say the market is definitely there if you wanted to go that route

    • @simondev758
      @simondev758  Pƙed 3 lety +1

      @@aj35lightning You bring up some good points, I kinda mulled over the idea last night a bit. I'll probably start collecting ideas into some sort of "course like" framework to start, wouldn't be surprised if a lot of it still goes out in free videos but at the very least I'll build out the curriculum.

  • @hbobenicio
    @hbobenicio Pƙed 2 lety

    This was awesome!

  • @teliak
    @teliak Pƙed 3 lety

    Love it ! Maybe a public release soon ? :)

  • @1b0ngo1
    @1b0ngo1 Pƙed 3 lety +1

    I am really impressed with how much you are able to make in languages like these! I am very suprised that you haven't been hired by big game companies yet!

    • @simondev758
      @simondev758  Pƙed 3 lety +3

      Used to work for big game companies.

    • @1b0ngo1
      @1b0ngo1 Pƙed 3 lety

      @@simondev758 well what happened? Why did you stop? You seem more than qualified

    • @simondev758
      @simondev758  Pƙed 3 lety +6

      @@1b0ngo1 Got promoted to architect, guided entire company's tech decisions, hired by Google, led a team there. Got bored. Doing other things now. These videos are a way of me to still fiddle with code, meet some interesting people, without committing to 9-5 job.

  • @puppergump4117
    @puppergump4117 Pƙed rokem +2

    This channel is a gold mine, too bad I don't have a mining pick thingy

  • @sergicamps24
    @sergicamps24 Pƙed 3 lety

    Nice Work!

  • @kirbs0001
    @kirbs0001 Pƙed 3 lety +2

    Problem with any heightmap-based terrain generation is the lack of overhangs. Even a 4087 bit gradient can only produce a cliff.
    Procedural terrain generation is still an area that hasn't really seen any improvement since minecraft released over a decade ago.

    • @simondev758
      @simondev758  Pƙed 3 lety

      I'll write a note specifically to add those for v3, when I get bored enough to try that.

    • @kjpg7413
      @kjpg7413 Pƙed 3 lety

      @@simondev758 This would be great to see. If you do, I would like to put in the suggestion not to use/teach the trilinear interpolation that Minecraft uses to speed up 3D noise generation. The reasons that Minecraft decided trilerp was necessary to make noise fast, were shortsighted at best. It basically came down to using too many noise layers, and not implementing any other optimizations. It looks very griddy, and isn't necessary to get good-performing 3D noise-based overhangs. It would help the community for there to be fewer tutorials that re-teach this, and more that teach other methods.
      My suggestion:
      - First, define your 3D noise formula consisting of your fBm/ridged/etc. Take what would define an ordinary 2D heightmap, and add the third coordinate to the noises. Thus, it becomes a heightmap that changes vertically, sometimes leading to overhangs. The vertical frequency trades off overhangs and the risk of floating islands. Test "noiseFormula(x,y,z) > y ? solid : air" to decide whether to place a block.
      - The optimization: Find the minimum and maximum values it can produce. These are the min/max height for your terrain. Only loop over this Y coordinate range (assuming Y is vertical). Everything below is solid, and everything above is air. It's probably easiest to set a big range while you tune your noise formula, then set the exact values after.

    • @kjpg7413
      @kjpg7413 Pƙed 3 lety

      Also I would argue that there have been improvements in terrain generation since Minecraft was released. Newer ways to generate noise with less directional bias, biome distributions, optimizations for generating 3D noisemaps, etc. The community can be quick to latch onto old methods, though, and Minecraft doesn't seem keen to incorporate lots of the newer techniques in their updates. This includes the caves/cliffs update, which is still using the griddy trilinear interpolation on its 3D noise.

  • @ezekil3355
    @ezekil3355 Pƙed 3 lety

    Really nice video!

  • @bungiebee4049
    @bungiebee4049 Pƙed 3 lety

    I think adding the ambient occlusion really makes it stand out.

  • @JokrasTV
    @JokrasTV Pƙed 3 lety +16

    Now the Minecraft build limit of the real Minecraft becomes higher xD (1.17 Update)

  • @justanotherhotguy
    @justanotherhotguy Pƙed 3 lety +2

    Can you try implementing multi block “entities”, something Minecraft won’t be able add? Basically imagine building your own ship and than sailing it. The main problem is water physics and its’ interaction. Accepting the challenge?

  • @ZenReal
    @ZenReal Pƙed rokem +1

    this is sick! (also god dam you could do a good bob from bobs burgers impression)

  • @ElijahIsMe
    @ElijahIsMe Pƙed 3 lety +1

    great stuff!

  • @jlf_
    @jlf_ Pƙed 3 lety +1

    i am happy i found your channel

  • @Lolmanik
    @Lolmanik Pƙed 3 lety

    this is amazing! how do you have only 20k subs you deserve more

  • @NiloRiver
    @NiloRiver Pƙed 2 lety +1

    Level Genius!

  • @bigmistqke
    @bigmistqke Pƙed 3 lety

    Using sdfs for voxel generation s such a cool idea

  • @user-gm2rv8tv4e
    @user-gm2rv8tv4e Pƙed 10 měsĂ­ci

    wish i could build something like this