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
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.
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
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.
@@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.
@@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.
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).
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.
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.
@@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
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.
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.
"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.
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!
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!
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!
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
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!
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!!
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 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.
I think there's been some changes to Chrome since I released this, IIRC I need to replace the SharedArrayBuffer uses with just simple ArrayBuffer, but I've been lazy about doing that.
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).
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
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.
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?
Mountains are looking good. Maybe add an erosion function to level them down a bit? And maybe fill in the empty spaces between leaf blocks in your trees.
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.
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!
@@kingstrider22 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.
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
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!
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!
@@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.
@@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
@@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
@@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.
Those lighting issues sometimes happen in the original Minecraft. Now I know why... Also, the terrain and tree generation looks like another voxel game, Creativerse. You were on a pretty solid track!
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 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.
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.
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
Thank you!
Can you post controls please? ^^
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.
@@schnabox 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.
Olá cara, como vc aprende? Sou brasileiro e não acho muita informação sobre essas biblioteca.
Simon, this is amazing! The soft ambient shadows, the trees, the smiling moon landscape, everything! Thanks for sharing this!
No worries, glad you enjoyed it :)
F Miss this shit!
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.
Don't copy minecraft though just make your own game
@@williamwester223 Why not copy it?
I love programmers. Knows how to program an entire Minecraft clone, doesn’t know the name for a pick axe. Lol
Hah, what did I call it?
@@simondev758 Not sure if this is exact but it was something like "mining pick thingy" lol
Yeah, I think it is pickaxe altogether.
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
Miner's pick thingy
"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
This is the best way to do it
Yeah the cubes for crosshair was just laziness :(
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.
@@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.
@@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.
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).
Wasn't expecting the SDFs and L-System trees. Very awesome!
ty! I'm glad they worked out, been looking for an application for the l-systems for a while
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.
I got a panic attack just thinking about debugging that.
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.
Was thinking the same exact thing, like what the hell lol!
@@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
Yeah this is wild, not to mention there was no copy paste. This guy is brilliant
8:33 "Meh, look at that poor tree"
9:22 " *Holy Sh*t What The F*ck* "
Man, not even the Mojang guys fixed this shadow bug when deleting blocks.
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.
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.
This is the greatest minecraft recreation I have ever seen.
Dancing "cubes" to illustrate hollow sides was nice touch to explain the subject, the attention to detail is great! 👍
My good sir, you have no idea how much an impact you are having on some people's careers, Including mine.
That's great, I've love to hear more about how this is helping you.
@@simondev758
This looks like optifine's internal shaders.
But great job tho!
Including MINEcraft
É verdade!
Simon, you're basically coding ASMR and that's fantastic.
I don’t know why, but you voice is so incredibly calming. I would like to listen to audiobooks read by you all night.
Seems easy enough!
*10 years later*
I am a failure. 😭
"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.
Wow. a lot to learn from you. Really appreciate that mentioning the techniques you are using for the project.
Lemme know if there's areas you want expanded in more depth too.
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!
Awesome, I remember you building out one from last year. Happy if this gives you a few more ideas to integrate.
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!
A lot of the building blocks are covered in previous tutorials, and anything that isn't, like SDF's, I have plans to cover.
I've pretty much binged a lot of your content here, loving the content!
You guys can all agree with me that we NEED a part 2 of this amazing video
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!
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
Your content is absolutely above and beyond. Thank you so much for taking the time to make these videos.
No worries! If you have suggestions for future videos, let me know
This channel is a gold mine, too bad I don't have a mining pick thingy
This is awesome! I love these kinds of videos, making unique versions of Minecraft.
This is really cool, you really added your own spin on the thing and made it look effortless.
Hope we can see more technical exploration like this
SimonDev: *makes Minecraft clone*
Clippy: It looks like you're making a Minecraft clone.
6:32 - That was a painful copy+paste
Yeah that was pretty gross, 4 nested for loops I think?
Awesome as always, Simon! :D
The trees are superb!
Yeah I was really happy with the trees!
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!
Pretty amazing stuff! Love your videos man.
thanks!
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!!
No worries, glad you're getting value from it!
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!
I kinda wanted to do water too, but decided to wrap this one up. Maybe next go-around I'll try.
@@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.
Finally! Someone doing real work in 3D in the browser. Bravo!
Heh, it's just such a nice and easy environment to work in
Minecraft used to feel like this.
I miss seeing the noise maps in the terrain.
wow some of those terrains are the end really reminded me of minecraft alpha world generation. Really impressive.
Really awesome job, Simon! I enjoy the beautiful scene you created so much, and I want to have a try on threejs now.
Go for it! And let me know if you make something
@@simondev758 Absolutely:)
Your mountains look amazing
ty
@@simondev758 will you do another episode of this? I would love to see wildlife and/or more plants like grass or flowers.
When I Play The Game It's Just A Void With Just A Sky And Clouds
I think there's been some changes to Chrome since I released this, IIRC I need to replace the SharedArrayBuffer uses with just simple ArrayBuffer, but I've been lazy about doing that.
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).
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
This is awesome. Looks great.
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.
Very cool. The ambient inclusion changed everything, I think
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.
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?
Your channel is underappreciated.
If you don't look carefully it actually looks like Minecraft. Also I love the terrain generation.
Thanks for the glimpse into SDF‘s
No worries, I'll probably try to follow up with something more in-depth on those specifically at some point.
Mountains are looking good. Maybe add an erosion function to level them down a bit? And maybe fill in the empty spaces between leaf blocks in your trees.
Great ideas, v3!
Your voice definetely sounds like someone called Simon so I'm glad that is your name
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.
You sound just enough like rami malek that I couldn’t help imagining Elliot alderson.
Hah nice
Him: I only got a GTX 710 ti
Me: Have you ever seen a GT 530? No, well, i got it.
Woah
Oh wow never heard of it
Have u ever seen palit GT240 with broken cooler? Or 8800GTS 640MB with black screen in CSGO?
This is really awesome. Great job and a great video!
ty
I love how the video caption is in Vietnamese, translating it to English makes it pure comedy.
Super cool! I hope you eventually make a version with a quadtree for chunks of varying voxel size and maybe even a voxel planet
Yeah I was kinda toying around with that same idea!
I can't believe you even thought of rounding the clouds corners off! :)
Once again amazing video Simon! Hats off!
Thanks!
Using exact same card doing exact same things - glad to have found your channel ;)
Now the Minecraft build limit of the real Minecraft becomes higher xD (1.17 Update)
i love how everyone who recodes minecraft does it 10 times better than notch did. walking into unloaded chunks is an every day occurrence for me
This is the most indifferent "Let's build a Minecraft" I've ever seen.
Glorious!
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!
Used to work for big game companies.
@@simondev758 well what happened? Why did you stop? You seem more than qualified
@@kingstrider22 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.
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
this doesnt look like its coded in JS good job man keep it up!👍
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!
Also your 'yays' crack me up you sound like the male version of Tina from Bob's burgers.
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
Simon having fun again :)
Heh yeah, was taking a break from tutorials and made something a bit bigger. I've got some tutorials in the works though.
Great as usual! Thanks Simon! :)
welcome!
Amazing video Simon! Thank you!!
ty
I love the trees
this is sick! (also god dam you could do a good bob from bobs burgers impression)
this is fire and inspriring
Not gonna lie, those trees were pretty great.
This is awesome work!
ty!
i realy like the look of the tree :)
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!
I watch your videos in bed, they really help me fall asleep, thanks! 👍
more of this content please!
i am happy i found your channel
Nice job... Now you could try to make minecraft mechanism without block- so more realistic hills digging holes etc 😁
You can never make a better version of Minecraft but this is cool.
It's only better than my last version :)
Love all these guys showing up in my recommended making better minecrafts. Really drives home how lazy mojang is.
Imagine minecraft with L-system trees. It would be so cool!
I think adding the ambient occlusion really makes it stand out.
Wow, awesome stuff very thought provoking!
everyday, my guy sounds like he just woke up
all the different techniques used, that was insane
A lot, but they're pretty simple and quick to learn
@@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.
@@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
@@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
@@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.
Those lighting issues sometimes happen in the original Minecraft. Now I know why...
Also, the terrain and tree generation looks like another voxel game, Creativerse.
You were on a pretty solid track!
it's feels like fake minecaft flash games
Amazing work, Simon.
I basicly know nothing about coding but this is kinda entertaining to watch, I like it +1 ps. you should create "terraria" like 3d game :) .
That ain't a tree, that's a plumbus.
I always wondered how uh plumbuses got made.
@@simondev758 😂
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.
I'll write a note specifically to add those for v3, when I get bored enough to try that.
@@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.
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.
That man is sick!
ty
wow that’s pretty cool
ty!
I got no idea what you are doing, but it is awesome
lol thx!
This is a great video
ty
there is some super idea there