Simple Biome Generation (3D World Generation #11)

  Рет қаралды 28,472

SimonDev

SimonDev

Күн бұрын

Today we procedurally generate some simple biomes for our worlds.
To vote on new videos, ask questions, or just support me:
/ simondevyt
Follow me on:
Twitter: / iced_coffee_dev
Instagram: / beer_and_code
Github: github.com/simondevyoutube/
In this project, we're looking at adding some simple and easy biomes to differentiate different areas on the planet. This goes a long way to help increase the natural look of our worlds.
We'll take a look at Whittaker's biome types and implement a simple but effective system for randomly generating temperature and precipitation values across the planet. Those can, in turn, be used by something like the shader to differentiate areas in the world.
We're using Three.js and JavaScript for this tutorial, and if you're new to the series make sure to check out thhe rest of the playlist: • 3D World Generation (J...

Пікірлер: 102
@CarlosPerez3dArt
@CarlosPerez3dArt 2 жыл бұрын
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
@ignacio3460
@ignacio3460 2 жыл бұрын
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!
@Zicrus
@Zicrus 2 жыл бұрын
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.
@simondev758
@simondev758 2 жыл бұрын
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
@samuelhulme8347
@samuelhulme8347 2 жыл бұрын
When are you going to upload this part to GitHub?
@vovchisko-dev
@vovchisko-dev Жыл бұрын
Does this courses contains part with making large procedural planet and atmosphere? With sources? 🥲
@Syllvein
@Syllvein 2 жыл бұрын
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.
@bakerfx4968
@bakerfx4968 2 жыл бұрын
I saw this video pop up and was instantly happy. Thank you for all you do!
@qu765
@qu765 2 жыл бұрын
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.
@felleg4737
@felleg4737 2 жыл бұрын
beyond ‘ok’ again!! the way you approach problems and ideas is really inspiring!
@Ethans_tech
@Ethans_tech 2 ай бұрын
i know you won't ever continue this series. but i really liked it, and i hope you do
@dempa3
@dempa3 2 жыл бұрын
This was very interesting! I'd happily watch you explore the more advanced stuff.
@LewiLewi52
@LewiLewi52 2 жыл бұрын
Hope penguin generation falls under advanced stuff.
@simondev758
@simondev758 2 жыл бұрын
Procedural penguin generation, interesting...
@Kahitar1
@Kahitar1 2 жыл бұрын
Love this series. Keep it going, pleeease!
@_maniplant
@_maniplant 6 ай бұрын
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
@Kobraisten
@Kobraisten Жыл бұрын
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! : )
@simondev758
@simondev758 Жыл бұрын
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.
@rafa_guitar
@rafa_guitar 2 жыл бұрын
I can only say: "awesome!", thanks for sharing!
@RDaneelOliwav
@RDaneelOliwav 2 жыл бұрын
I really love your threejs videos!
@Skeffles
@Skeffles 2 жыл бұрын
Love how the world looks, just floating there in space!
@eisbearne3757
@eisbearne3757 2 жыл бұрын
great inspiration, love your videos
@chri-k
@chri-k 4 ай бұрын
Amazing series!
@photonpotato2490
@photonpotato2490 2 жыл бұрын
I love this series! Keep it up!
@acajoom
@acajoom 2 жыл бұрын
excellent ! keep em coming !
@pearofgeeksii8156
@pearofgeeksii8156 2 жыл бұрын
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
@simondev758
@simondev758 2 жыл бұрын
Man, now I hear it
@robertoruiz7274
@robertoruiz7274 2 жыл бұрын
dude you are awesome. keep it up!!!!
@codydaniels9430
@codydaniels9430 2 жыл бұрын
Always excited to see the next update on this project. Keep em coming!
@judgsmith
@judgsmith 2 жыл бұрын
First! I love this seres.
@Tsskyx
@Tsskyx Жыл бұрын
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.
@miguelmyers9546
@miguelmyers9546 2 жыл бұрын
amazing
@XenoMustache
@XenoMustache 2 жыл бұрын
Hydraulic erosion simulation next???
@TommyLikeTom
@TommyLikeTom 2 жыл бұрын
You should collaborate with Sebastian Laugue. You two have similar minds
@AlphaMoonbase
@AlphaMoonbase 2 жыл бұрын
I just love your voice. The content is great, but without your smoothing voice I would have never subscribed.
@ripbycoppa
@ripbycoppa 2 жыл бұрын
you're my idol
@Fire_Rice
@Fire_Rice 2 жыл бұрын
YESSSS
@AttackOnTyler
@AttackOnTyler 2 жыл бұрын
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?
@simondev758
@simondev758 2 жыл бұрын
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.
@sorinmiroiu9404
@sorinmiroiu9404 2 жыл бұрын
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
@simondev758
@simondev758 2 жыл бұрын
lol
@Syllvein
@Syllvein 2 жыл бұрын
I was thinking of madseason too when I first heard him speak. Their voices are very soothing.
@kevnar
@kevnar 2 жыл бұрын
Advanced stuff like human settlements, and a lowest-cost path road network between them? XD
@moritzscheuerle9447
@moritzscheuerle9447 2 жыл бұрын
i would like to see more advanced stuff... like tectonic plates or erosion
@dorkle9085
@dorkle9085 2 жыл бұрын
I saw Sebastian Lague's video on Hydraulic Erosion, idk how you could code it on a planet.
@simondev758
@simondev758 2 жыл бұрын
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.
@nuvotion-live
@nuvotion-live 2 жыл бұрын
Hey SimonDev, is there a good way to get intellisense/autocomplete when you are doing GLSL-in-JS like that?
@user-dh8oi2mk4f
@user-dh8oi2mk4f 2 жыл бұрын
No. If you want intellisense you’ll have to use another file, but JavaScript can’t quickly load files.
@simondev758
@simondev758 2 жыл бұрын
Supposed to be some extensions for glsl and such, but haven't looked into them.
@O_Kxzulo_O
@O_Kxzulo_O 2 жыл бұрын
How can you customize more terrain?, like the world of one piece for example.
@NetherFX
@NetherFX 2 жыл бұрын
How did you get so good at shaders? I've tried learning about them and keep failing.
@simondev758
@simondev758 2 жыл бұрын
Same way you get good at anything man, hours and hours, probably hundreds or thousands of them.
@aesdim8150
@aesdim8150 2 жыл бұрын
Hipity hopity your script is now OUR property.
@Alpenjodler1
@Alpenjodler1 2 жыл бұрын
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...
@ghostandinfinite9874
@ghostandinfinite9874 2 жыл бұрын
i like your flappy bird ai
@ghostandinfinite9874
@ghostandinfinite9874 2 жыл бұрын
i want some thing like that
@falxie_
@falxie_ 2 жыл бұрын
Crazy to me that you write shaders in a template literal without any sort of intellisense
@rednibcoding3412
@rednibcoding3412 2 жыл бұрын
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. :)
@simondev758
@simondev758 2 жыл бұрын
Yep
@SeanJohnson_69
@SeanJohnson_69 2 жыл бұрын
What software do you use to code
@samuelhulme8347
@samuelhulme8347 2 жыл бұрын
Vs code he used
@SeanJohnson_69
@SeanJohnson_69 2 жыл бұрын
@@samuelhulme8347 ok thank you
@santiagofantoni2643
@santiagofantoni2643 2 жыл бұрын
I made a red circle today, it moves to the right when clicked : ' )
@BoomBoomMushroom
@BoomBoomMushroom 2 жыл бұрын
3rd
@shameemevans4413
@shameemevans4413 2 жыл бұрын
Do some pinball.
@Thebaker3
@Thebaker3 2 жыл бұрын
Can I use these codes in unity?
@simondev758
@simondev758 2 жыл бұрын
Sure, go ahead
@Thebaker3
@Thebaker3 2 жыл бұрын
@@simondev758 ok 👍
@yaser5133
@yaser5133 2 жыл бұрын
Can you please post the code for this? Thanks
@simondev758
@simondev758 2 жыл бұрын
Oh looks like I forgot to upload it, I'll try to remember when I'm back at my desktop.
@bitanesin
@bitanesin Жыл бұрын
@@simondev758 I can't find the code in github. Have you uploaded this one?
@Liocattechtips
@Liocattechtips 2 жыл бұрын
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.
@heteroerectus
@heteroerectus 2 жыл бұрын
GET TO THE CHOPPA
@simondev758
@simondev758 2 жыл бұрын
IT'S NOT A TOOMA Am I doing this right?
@tokiomutex4148
@tokiomutex4148 2 жыл бұрын
The way you do exports impacts in a negative manner the cyclomatic complexity of your code.
@simondev758
@simondev758 2 жыл бұрын
Interesting, can you point to some tips on what I can do better here? Thanks!
@tokiomutex4148
@tokiomutex4148 2 жыл бұрын
@@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"
@AleFunky890
@AleFunky890 Жыл бұрын
is the source code available?
@simondev758
@simondev758 Жыл бұрын
I post them to gIthub, link is in my profile or the description
@AleFunky890
@AleFunky890 Жыл бұрын
@@simondev758 yeah but i can't find the code of episode 11
@simondev758
@simondev758 Жыл бұрын
@@AleFunky890 Hmm no idea where it is, lemme look around on my computer later, maybe I just forgot
@Heccintech
@Heccintech 2 жыл бұрын
i know your a ex software engineer did you sell a project and decide to retire and build random projects?
@simondev758
@simondev758 2 жыл бұрын
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.
@ghostandinfinite9874
@ghostandinfinite9874 2 жыл бұрын
Plz can youu some more ai stuff like a reall human
@ghostandinfinite9874
@ghostandinfinite9874 2 жыл бұрын
rather than a star
@ghostandinfinite9874
@ghostandinfinite9874 2 жыл бұрын
plz its my request
@ghostandinfinite9874
@ghostandinfinite9874 2 жыл бұрын
Pwease
@omegaindustry
@omegaindustry 2 жыл бұрын
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
@simondev758
@simondev758 2 жыл бұрын
Hah yeah I keep meaning to
@omegaindustry
@omegaindustry 2 жыл бұрын
@@simondev758 how on the tectonic plate motion having earth do you write code like that
@NathanHedglin
@NathanHedglin 2 жыл бұрын
@@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 :-)
Spatial Hash Grids & Tales from Game Development
19:08
SimonDev
Рет қаралды 112 М.
I’m just a kid 🥹🥰 LeoNata family #shorts
00:12
LeoNata Family
Рет қаралды 4,7 МЛН
Каха ограбил банк
01:00
К-Media
Рет қаралды 8 МЛН
Minecraft terrain generation in a nutshell
25:49
Henrik Kniberg
Рет қаралды 146 М.
I rewrote my dungeon generator!
4:27
UnitOfTime
Рет қаралды 146 М.
Building a Simple First Person Camera
9:11
SimonDev
Рет қаралды 52 М.
AI Generated Minecraft Biomes
18:56
shovel241
Рет қаралды 2,2 МЛН
How to turn a few Numbers into Worlds (Fractal Perlin Noise)
15:24
The Taylor Series
Рет қаралды 185 М.
Coding Adventure: Procedural Moons and Planets
22:48
Sebastian Lague
Рет қаралды 1,7 МЛН
WebGPU :: Javascript at the speed of Light
20:02
Visionary 3D
Рет қаралды 78 М.
ТОП-5 культовых телефонов‼️
1:00
Pedant.ru
Рет қаралды 20 М.
WWDC 2024 - June 10 | Apple
1:43:37
Apple
Рет қаралды 10 МЛН
i like you subscriber ♥️♥️ #trending #iphone #apple #iphonefold
0:14
APPLE совершила РЕВОЛЮЦИЮ!
0:39
ÉЖИ АКСЁНОВ
Рет қаралды 2,4 МЛН