@simondev758
  @simondev758
SimonDev | I made an EVEN BETTER Minecraft @simondev758 | Uploaded 3 years ago | Updated 3 hours ago
I tried to make Minecraft even better than I did before.

πŸ›’ Recommended books (on Amazon): https://www.amazon.com/hz/wishlist/ls/1IMV0IR3QIZMQ?type=wishlist&tag=simondev01-20&sort=priority&viewType=grid
❀️ Support me on Patreon: https://www.patreon.com/simondevyt
🌍 My Gamedev Courses: https://simondev.teachable.com/

Disclaimer: Commission is earned from qualifying purchases on Amazon links.

Follow me on:
Twitter: https://twitter.com/iced_coffee_dev
Instagram: https://www.instagram.com/beer_and_code/
Github: https://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:
https://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm

Demo was a horribly modified version of:
https://www.shadertoy.com/view/lt3BW2

Model from:
https://sketchfab.com/3d-models/minecraft-diamond-pickaxe-b1bc7d6a3db246d5b47449ae2b2706fd

AO:
https://0fps.net/2013/07/03/ambient-occlusion-for-minecraft-like-worlds/
I made an EVEN BETTER MinecraftI Made a 3D Engine in 1 Day (WebGL/JavaScript)Making an Eyeball with Just a ShaderWait, so comparisons in floating point only just KINDA work? What DOES work?How Big Budget AAA Games Render CloudsHash Tables, Associative Arrays, and Dictionaries (Data Structures and Optimization)I Tried Making a 3D RPG Game in JavaScriptThree.js Lighting Tutorial (JavaScript) | Light Types Explained!Simple Third Person Camera (using Three.js/JavaScript)How Slow is JavaScript Really? JavaScript vs C++ (Data Structures & Optimization)I Tried to Make Star Wars Battlefront II in JavaScriptAn In-Depth look at Lerp, Smoothstep, and Shaping Functions

I made an EVEN BETTER Minecraft @simondev758