Simple Biome Generation (3D World Generation #11)

Поділитися
Вставка
  • Опубліковано 26 гру 2024

КОМЕНТАРІ • 103

  • @CarlosPerez3dArt
    @CarlosPerez3dArt 3 роки тому +22

    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 3 роки тому +21

    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 3 роки тому +4

      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  3 роки тому +16

    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 3 роки тому +1

      When are you going to upload this part to GitHub?

    • @vovchisko-dev
      @vovchisko-dev Рік тому +1

      Does this courses contains part with making large procedural planet and atmosphere? With sources? 🥲

  • @Syllvein
    @Syllvein 3 роки тому +7

    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 3 роки тому +7

    I saw this video pop up and was instantly happy. Thank you for all you do!

  • @felleg4
    @felleg4 3 роки тому +3

    beyond ‘ok’ again!! the way you approach problems and ideas is really inspiring!

  • @qualia765
    @qualia765 3 роки тому +7

    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.

  • @Kobraisten
    @Kobraisten 2 роки тому +4

    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  2 роки тому +2

      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.

  • @dempa3
    @dempa3 3 роки тому +2

    This was very interesting! I'd happily watch you explore the more advanced stuff.

  • @LewiLewi52
    @LewiLewi52 3 роки тому +33

    Hope penguin generation falls under advanced stuff.

    • @simondev758
      @simondev758  3 роки тому +8

      Procedural penguin generation, interesting...

  • @Skeffles
    @Skeffles 3 роки тому +1

    Love how the world looks, just floating there in space!

  • @rafa_guitar
    @rafa_guitar 2 роки тому +1

    I can only say: "awesome!", thanks for sharing!

  • @codydaniels9430
    @codydaniels9430 3 роки тому +3

    Always excited to see the next update on this project. Keep em coming!

  • @_maniplant
    @_maniplant Рік тому +1

    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

  • @Ethans_tech
    @Ethans_tech 8 місяців тому +1

    i know you won't ever continue this series. but i really liked it, and i hope you do

  • @Kahitar1
    @Kahitar1 3 роки тому +1

    Love this series. Keep it going, pleeease!

  • @RDaneelOliwav
    @RDaneelOliwav 3 роки тому +2

    I really love your threejs videos!

  • @pearofgeeksii8156
    @pearofgeeksii8156 2 роки тому +4

    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

  • @chri-k
    @chri-k 10 місяців тому +1

    Amazing series!

  • @Pavel-wj7gy
    @Pavel-wj7gy 6 місяців тому

    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.

  • @Tsskyx
    @Tsskyx 2 роки тому

    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.

  • @AlphaMoonbase
    @AlphaMoonbase 3 роки тому +1

    I just love your voice. The content is great, but without your smoothing voice I would have never subscribed.

  • @photonpotato2490
    @photonpotato2490 2 роки тому

    I love this series! Keep it up!

  • @kevnar
    @kevnar 3 роки тому +1

    Advanced stuff like human settlements, and a lowest-cost path road network between them? XD

  • @eisbearne3757
    @eisbearne3757 3 роки тому +1

    great inspiration, love your videos

  • @acajoom
    @acajoom 3 роки тому +1

    excellent ! keep em coming !

  • @robertoruiz7274
    @robertoruiz7274 3 роки тому +1

    dude you are awesome. keep it up!!!!

  • @XenoMustache
    @XenoMustache 3 роки тому +2

    Hydraulic erosion simulation next???

  • @TommyLikeTom
    @TommyLikeTom 2 роки тому +1

    You should collaborate with Sebastian Laugue. You two have similar minds

  • @aesdim8150
    @aesdim8150 3 роки тому

    Hipity hopity your script is now OUR property.

  • @sorinmiroiu9404
    @sorinmiroiu9404 3 роки тому +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  3 роки тому

      lol

    • @Syllvein
      @Syllvein 3 роки тому

      I was thinking of madseason too when I first heard him speak. Their voices are very soothing.

  • @AttackOnTyler
    @AttackOnTyler 3 роки тому +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  3 роки тому +1

      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.

  • @judgsmith
    @judgsmith 3 роки тому +6

    First! I love this seres.

  • @moritzscheuerle9447
    @moritzscheuerle9447 3 роки тому +3

    i would like to see more advanced stuff... like tectonic plates or erosion

    • @dorkle9085
      @dorkle9085 3 роки тому

      I saw Sebastian Lague's video on Hydraulic Erosion, idk how you could code it on a planet.

    • @simondev758
      @simondev758  3 роки тому +1

      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 3 роки тому +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 3 роки тому +1

      No. If you want intellisense you’ll have to use another file, but JavaScript can’t quickly load files.

    • @simondev758
      @simondev758  3 роки тому +1

      Supposed to be some extensions for glsl and such, but haven't looked into them.

  • @miguelmyers9546
    @miguelmyers9546 3 роки тому +2

    amazing

  • @O_Kxzulo_O
    @O_Kxzulo_O 3 роки тому

    How can you customize more terrain?, like the world of one piece for example.

  • @SeanJohnson_69
    @SeanJohnson_69 3 роки тому +1

    What software do you use to code

  • @Alpenjodler1
    @Alpenjodler1 3 роки тому +1

    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...

  • @falxie_
    @falxie_ 3 роки тому +1

    Crazy to me that you write shaders in a template literal without any sort of intellisense

  • @ripbycoppa
    @ripbycoppa 3 роки тому +1

    you're my idol

  • @Fire_Rice
    @Fire_Rice 3 роки тому +1

    YESSSS

  • @santiagofantoni2643
    @santiagofantoni2643 2 роки тому +2

    I made a red circle today, it moves to the right when clicked : ' )

  • @NetherFX
    @NetherFX 3 роки тому

    How did you get so good at shaders? I've tried learning about them and keep failing.

    • @simondev758
      @simondev758  3 роки тому +2

      Same way you get good at anything man, hours and hours, probably hundreds or thousands of them.

  • @Lointain-Cosmic-Horizons
    @Lointain-Cosmic-Horizons 3 роки тому

    i like your flappy bird ai

  • @rednibcoding3412
    @rednibcoding3412 3 роки тому +1

    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. :)

  • @Thebaker3
    @Thebaker3 3 роки тому

    Can I use these codes in unity?

  • @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

  • @yaser5133
    @yaser5133 2 роки тому

    Can you please post the code for this? Thanks

    • @simondev758
      @simondev758  2 роки тому +1

      Oh looks like I forgot to upload it, I'll try to remember when I'm back at my desktop.

    • @bitanesin
      @bitanesin 2 роки тому +1

      @@simondev758 I can't find the code in github. Have you uploaded this one?

  • @Heccintech
    @Heccintech 3 роки тому +2

    i know your a ex software engineer did you sell a project and decide to retire and build random projects?

    • @simondev758
      @simondev758  3 роки тому +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.

  • @shameemevans4413
    @shameemevans4413 3 роки тому +1

    Do some pinball.

  • @Lointain-Cosmic-Horizons
    @Lointain-Cosmic-Horizons 3 роки тому

    i want some thing like that

  • @tokiomutex4148
    @tokiomutex4148 3 роки тому

    The way you do exports impacts in a negative manner the cyclomatic complexity of your code.

    • @simondev758
      @simondev758  3 роки тому +1

      Interesting, can you point to some tips on what I can do better here? Thanks!

    • @tokiomutex4148
      @tokiomutex4148 3 роки тому +1

      @@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"

  • @BoomBoomMushroom
    @BoomBoomMushroom 3 роки тому +2

    3rd

  • @Lointain-Cosmic-Horizons
    @Lointain-Cosmic-Horizons 3 роки тому

    rather than a star

  • @Liocattechtips
    @Liocattechtips 3 роки тому +3

    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.

  • @Lointain-Cosmic-Horizons
    @Lointain-Cosmic-Horizons 3 роки тому

    Plz can youu some more ai stuff like a reall human

  • @omegaindustry
    @omegaindustry 3 роки тому +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  3 роки тому +2

      Hah yeah I keep meaning to

    • @omegaindustry
      @omegaindustry 3 роки тому

      @@simondev758 how on the tectonic plate motion having earth do you write code like that

    • @NathanHedglin
      @NathanHedglin 3 роки тому

      @@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 :-)

  • @Lointain-Cosmic-Horizons
    @Lointain-Cosmic-Horizons 3 роки тому

    plz its my request

  • @Lointain-Cosmic-Horizons
    @Lointain-Cosmic-Horizons 3 роки тому

    Pwease

  • @heteroerectus
    @heteroerectus 3 роки тому +2

    GET TO THE CHOPPA

    • @simondev758
      @simondev758  3 роки тому

      IT'S NOT A TOOMA
      Am I doing this right?