This is your plausible reason to continue with going further into more technical things I’d love to see seasons and clouds and precipitation cycles please you’re great I love what you do and how you do it
The level of detail from space is so much higher than No Man's Sky, which just shows a texture of the planet surface on a generic sphere. It gets pretty blurry as you get closer, right before it switches to an actual terrain mesh. I wish they'd just do what you're doing lol. Great work!
No mans skys lowest LOD is actually not just a sphere. They have 2 layers of voxel data and a height offset on the terrain, allowing small bumps in the surface.
Thank you to Patreon people for voting and requesting this! If you enjyoed this, check out my GLSL course: simondev.teachable.com/p/glsl-shaders-from-scratch If you'd like to support future videos and tutorials: www.patreon.com/simondevyt
Thank God your videos popped up in my recommendations. I like how you tackle what seems like year+ long projects to me and break things down into little victories and then improving upon it. I'm learning python and my teachers always mention building your code in parts and then adding and improving as you go.
How I would do precipitation: 1) make another mapping for wind direction, mostly horizontal and 2) compare that to the normal of the terrain this constitutes part of the precipitation 3) make a blurred version of the height map, but where ocean is 1, and land is 0. This also contributes.
this series was genious, you are a very good teacher - not the "type what I'm typing" kind, but one that helps ppl understand the problem and the solution; although I'm not into js but it's clear how I could solve these issues now in a language-agnostic manner, thank you for this! I built an entire vocab thanks to you! it's also entertaing to watch how cool math and physics and coding are if you use them to work on cool stuff, I hope this inspires many to take a deep dive instead of staying on the surface of say web development; what you present here is real engineering : )) also the limitations you're alleviating here are relevant for any language or engine too, like unity or unreal, I saw these issues there as well, because these are related to hardware - something that no engine or language can circumvent - but being smart can : P thanks again! : )
Awesome, thanks! I definitely strive to do exactly that, present solutions in a language agnostic way. I happen to use JS in this case, because it's easy and let's me get right to the heart of the problem, but if you understand the problem and solution presented, it should be a snap to get it to work elsewhere.
Great series, thank you and also for making the code public; there's some stuff you've solved that I haven't (particularly fixing normals on the seams!). Also, and this is silly really, but the way your accent translates to mine whenever you say "per vertex" I hear "pervert ex" and that has made me look at 3D in a whole new way :P
I know it's been a long time, but it would be cool to see how you approach building a simple interface to add stuff to that world: custom forests, mountain ranges, volcanos, architecture, roads, etc. Loved the tutorial and would love you adding more cool things to this world you've build. Otherwise feels rather unfinished.
I see this video is a year old, but I have a thing to say about precipitation, having looked into the science behind it myself in the past. Precipitation is often tied to air pressure - when there is low pressure, there is prevalent mixing of air masses and thus high rainfall, and vice versa for high pressure. Usually, planets with atmospheres have pressure bands that encircle them. Jupiter has many (which is why it's so stripy) and Earth has three main ones on each hemisphere. They even have names: Hadley cell, Ferrel cell, and the polar cell. The logic behind them is that air rises at the equator, thus creating a lush, low pressure zone, then travels towards the poles, and eventually, it begins sinking, creating a dry, high pressure zone. On Earth, this is the reason why north Africa is so dry, because it lies precisely in this high pressure zone. The next low pressure zone is in the Eurasian/North American mid-latitudes, and the poles are regions of high pressure. If you wanna program it, simply create alternating bands of low and high precipitation. It makes sense to make more bands the larger your planet is.
Simon you are a fantastic programmer, let me tell you that. I'm not sure why but your monotone voice makes it all more appealing. Hmm... i think i've seen this before... yep, no just my imagination (madseasonshow). Can't think of anyone (madseasonshow) that also has a monotone voice lol
I just want to say, from a person who has been looking into procedural terrain generation for planetary sized bodies for over a year to develop a game in unity or unreal, I've yet to find a guide or series documenting the individual steps involved to make a convincing transition between ground to space like you have, in js no less. Thank you for all the hard work you've done. I don't know what the scope of this project is but with biomes more or less complete, and you did say something about working on a water shader in this video, do you plan on adding procedural vegetation for grass and trees at ground lod in the future?
Yeah I plan to, I kinda revisit the series when I feel like it. So there may be gaps between episodes, but I like to keep pushing these planets along heh.
Yeah I've seen some techniques on hydraulic erosion, interesting stuff but would need to be adapted big time to work on procedural worlds in a sensible amount time.
Now I want to make a terrain generator that starts off with a ball that gets thrown back and forth between a heat god and a frost god, denting the surface and altering the climate wherever they touch the ball...
Thank you for these awesome tutorials. Are you planning to add procedural generated vegetation? Also adding 3d models on predefined random areas like shipwrecks and stuff would be awesome. Are you covering this also? Anyway, awesome series, I subbed so I don't miss it when you continue this series. :)
Nah, I went the boring way of working for years, paying things off, and then deciding I wanted to do something more interesting, even if it paid less. Didn't win the lottery though, so no retirement.
@@simondev758 Instead of writing export name = () => { //... return { name1: func1, name2: class1, func2, class2, } }(); you can use export lists: //... export { func1 as name1, class1 as name2, func2, class2, }; this gives you more flexibility because you can import everything via import * as name from "module.js" or just particular components via import { name1 } from "module.js"
Sir this is crazyly good 🤯. I also want to start with these type of 3d things. Can you tell me how can I start please please 🥺🥺🥺🥺. Right now I am a student and very very small 😅 full stack web dev intern but can you guide me a little bit how do I start please.
Love your vids but PLEASE STOP WRITING CODE IN A STRING. Just write your code in a file and read it into a string so you can still have syntax highlighting! You already use 1 char variables how on earth are you writing code without syntax highlighting
@@omegaindustry some research would be warranted for sure. I’d probably work starting with the technic plates fas those are what create islands, continents and mountain ranges. Sounds interesting but complex :-)
This is your plausible reason to continue with going further into more technical things I’d love to see seasons and clouds and precipitation cycles please you’re great I love what you do and how you do it
The level of detail from space is so much higher than No Man's Sky, which just shows a texture of the planet surface on a generic sphere. It gets pretty blurry as you get closer, right before it switches to an actual terrain mesh. I wish they'd just do what you're doing lol. Great work!
No mans skys lowest LOD is actually not just a sphere. They have 2 layers of voxel data and a height offset on the terrain, allowing small bumps in the surface.
Thank you to Patreon people for voting and requesting this!
If you enjyoed this, check out my GLSL course: simondev.teachable.com/p/glsl-shaders-from-scratch
If you'd like to support future videos and tutorials: www.patreon.com/simondevyt
When are you going to upload this part to GitHub?
Does this courses contains part with making large procedural planet and atmosphere? With sources? 🥲
Thank God your videos popped up in my recommendations. I like how you tackle what seems like year+ long projects to me and break things down into little victories and then improving upon it. I'm learning python and my teachers always mention building your code in parts and then adding and improving as you go.
I saw this video pop up and was instantly happy. Thank you for all you do!
beyond ‘ok’ again!! the way you approach problems and ideas is really inspiring!
How I would do precipitation:
1) make another mapping for wind direction, mostly horizontal and
2) compare that to the normal of the terrain this constitutes part of the precipitation
3) make a blurred version of the height map, but where ocean is 1, and land is 0. This also contributes.
this series was genious, you are a very good teacher - not the "type what I'm typing" kind, but one that helps ppl understand the problem and the solution; although I'm not into js but it's clear how I could solve these issues now in a language-agnostic manner, thank you for this! I built an entire vocab thanks to you! it's also entertaing to watch how cool math and physics and coding are if you use them to work on cool stuff, I hope this inspires many to take a deep dive instead of staying on the surface of say web development; what you present here is real engineering : )) also the limitations you're alleviating here are relevant for any language or engine too, like unity or unreal, I saw these issues there as well, because these are related to hardware - something that no engine or language can circumvent - but being smart can : P thanks again! : )
Awesome, thanks! I definitely strive to do exactly that, present solutions in a language agnostic way. I happen to use JS in this case, because it's easy and let's me get right to the heart of the problem, but if you understand the problem and solution presented, it should be a snap to get it to work elsewhere.
This was very interesting! I'd happily watch you explore the more advanced stuff.
Hope penguin generation falls under advanced stuff.
Procedural penguin generation, interesting...
Love how the world looks, just floating there in space!
I can only say: "awesome!", thanks for sharing!
Always excited to see the next update on this project. Keep em coming!
Love your videos, still waiting for the next video in the series, wondering how do we go from here to solar system scale and beyond
i know you won't ever continue this series. but i really liked it, and i hope you do
Love this series. Keep it going, pleeease!
I really love your threejs videos!
Great series, thank you and also for making the code public; there's some stuff you've solved that I haven't (particularly fixing normals on the seams!). Also, and this is silly really, but the way your accent translates to mine whenever you say "per vertex" I hear "pervert ex" and that has made me look at 3D in a whole new way :P
Man, now I hear it
Amazing series!
I know it's been a long time, but it would be cool to see how you approach building a simple interface to add stuff to that world: custom forests, mountain ranges, volcanos, architecture, roads, etc. Loved the tutorial and would love you adding more cool things to this world you've build. Otherwise feels rather unfinished.
I see this video is a year old, but I have a thing to say about precipitation, having looked into the science behind it myself in the past. Precipitation is often tied to air pressure - when there is low pressure, there is prevalent mixing of air masses and thus high rainfall, and vice versa for high pressure. Usually, planets with atmospheres have pressure bands that encircle them. Jupiter has many (which is why it's so stripy) and Earth has three main ones on each hemisphere. They even have names: Hadley cell, Ferrel cell, and the polar cell. The logic behind them is that air rises at the equator, thus creating a lush, low pressure zone, then travels towards the poles, and eventually, it begins sinking, creating a dry, high pressure zone. On Earth, this is the reason why north Africa is so dry, because it lies precisely in this high pressure zone. The next low pressure zone is in the Eurasian/North American mid-latitudes, and the poles are regions of high pressure. If you wanna program it, simply create alternating bands of low and high precipitation. It makes sense to make more bands the larger your planet is.
I just love your voice. The content is great, but without your smoothing voice I would have never subscribed.
I love this series! Keep it up!
Advanced stuff like human settlements, and a lowest-cost path road network between them? XD
great inspiration, love your videos
excellent ! keep em coming !
dude you are awesome. keep it up!!!!
Hydraulic erosion simulation next???
You should collaborate with Sebastian Laugue. You two have similar minds
Hipity hopity your script is now OUR property.
Simon you are a fantastic programmer, let me tell you that. I'm not sure why but your monotone voice makes it all more appealing. Hmm... i think i've seen this before... yep, no just my imagination (madseasonshow). Can't think of anyone (madseasonshow) that also has a monotone voice lol
lol
I was thinking of madseason too when I first heard him speak. Their voices are very soothing.
I just want to say, from a person who has been looking into procedural terrain generation for planetary sized bodies for over a year to develop a game in unity or unreal, I've yet to find a guide or series documenting the individual steps involved to make a convincing transition between ground to space like you have, in js no less.
Thank you for all the hard work you've done.
I don't know what the scope of this project is but with biomes more or less complete, and you did say something about working on a water shader in this video, do you plan on adding procedural vegetation for grass and trees at ground lod in the future?
Yeah I plan to, I kinda revisit the series when I feel like it. So there may be gaps between episodes, but I like to keep pushing these planets along heh.
First! I love this seres.
i would like to see more advanced stuff... like tectonic plates or erosion
I saw Sebastian Lague's video on Hydraulic Erosion, idk how you could code it on a planet.
Yeah I've seen some techniques on hydraulic erosion, interesting stuff but would need to be adapted big time to work on procedural worlds in a sensible amount time.
Hey SimonDev, is there a good way to get intellisense/autocomplete when you are doing GLSL-in-JS like that?
No. If you want intellisense you’ll have to use another file, but JavaScript can’t quickly load files.
Supposed to be some extensions for glsl and such, but haven't looked into them.
amazing
How can you customize more terrain?, like the world of one piece for example.
What software do you use to code
Vs code he used
@@samuelhulme8347 ok thank you
Now I want to make a terrain generator that starts off with a ball that gets thrown back and forth between a heat god and a frost god, denting the surface and altering the climate wherever they touch the ball...
Crazy to me that you write shaders in a template literal without any sort of intellisense
you're my idol
YESSSS
I made a red circle today, it moves to the right when clicked : ' )
How did you get so good at shaders? I've tried learning about them and keep failing.
Same way you get good at anything man, hours and hours, probably hundreds or thousands of them.
i like your flappy bird ai
Thank you for these awesome tutorials. Are you planning to add procedural generated vegetation? Also adding 3d models on predefined random areas like shipwrecks and stuff would be awesome. Are you covering this also?
Anyway, awesome series, I subbed so I don't miss it when you continue this series. :)
Yep
Can I use these codes in unity?
Sure, go ahead
@@simondev758 ok 👍
is the source code available?
I post them to gIthub, link is in my profile or the description
@@simondev758 yeah but i can't find the code of episode 11
@@AleFunky890 Hmm no idea where it is, lemme look around on my computer later, maybe I just forgot
Can you please post the code for this? Thanks
Oh looks like I forgot to upload it, I'll try to remember when I'm back at my desktop.
@@simondev758 I can't find the code in github. Have you uploaded this one?
i know your a ex software engineer did you sell a project and decide to retire and build random projects?
Nah, I went the boring way of working for years, paying things off, and then deciding I wanted to do something more interesting, even if it paid less. Didn't win the lottery though, so no retirement.
Do some pinball.
i want some thing like that
The way you do exports impacts in a negative manner the cyclomatic complexity of your code.
Interesting, can you point to some tips on what I can do better here? Thanks!
@@simondev758 Instead of writing
export name = () => {
//...
return {
name1: func1,
name2: class1,
func2,
class2,
}
}();
you can use export lists:
//...
export {
func1 as name1,
class1 as name2,
func2,
class2,
};
this gives you more flexibility because you can import everything via
import * as name from "module.js"
or just particular components via
import { name1 } from "module.js"
3rd
rather than a star
Sir this is crazyly good 🤯.
I also want to start with these type of 3d things. Can you tell me how can I start please please 🥺🥺🥺🥺.
Right now I am a student and very very small 😅 full stack web dev intern but can you guide me a little bit how do I start please.
Plz can youu some more ai stuff like a reall human
Love your vids but PLEASE STOP WRITING CODE IN A STRING. Just write your code in a file and read it into a string so you can still have syntax highlighting! You already use 1 char variables how on earth are you writing code without syntax highlighting
Hah yeah I keep meaning to
@@simondev758 how on the tectonic plate motion having earth do you write code like that
@@omegaindustry some research would be warranted for sure.
I’d probably work starting with the technic plates fas those are what create islands, continents and mountain ranges.
Sounds interesting but complex :-)
plz its my request
Pwease
GET TO THE CHOPPA
IT'S NOT A TOOMA
Am I doing this right?