Coding Adventure: Terraforming

Поділитися
Вставка
  • Опубліковано 22 тра 2024
  • I got a bit tired of my simple heightmap-based planets and decided to experiment with generating them using the Marching Cubes algorithm instead, so that I could add a 'terraforming' ability for shaping the world with caves and tunnels and so on. I hope you enjoy!
    Project files are available here:
    github.com/SebLague/Terraforming
    If you’d like to support me in creating more videos, I have a Patreon page over here: / sebastianlague
    Have a look at these videos if you're interested in learning about how the atmosphere and clouds were created:
    Atmosphere: • Coding Adventure: Atmo...
    Clouds: • Coding Adventure: Clouds
    Chapters:
    0:00 Intro
    1:05 Marching Cubes Algorithm Refresher
    2:32 Looking at the Code
    3:42 Making a Sphere!
    4:53 Floating Rocks
    7:20 Chunk Woes
    9:48 The Mistake
    11:31 Terraforming is Easy!
    12:26 A Simple Water Shader
    16:28 Adding Atmosphere
    17:30 Some Fluffy Clouds
    18:54 Terrain Colouring, and Sticky Lights!
    20:23 The Expedition
    21:23 Outro
    Music:
    Heart Calligraphy by Cody Martin
    Wonderland by Shimmer
    Autumn Wind by Yehezkel Raz
    Hall of the Mountain King by Kevin MacLeod (composed by Edvard Grieg)
    It Will Come Back by The Stolen Orchestra
    Amber by the Stolen Orchestra
    Nightingale by Emorie
    Into the Light by Emorie
    Animated Adventure by Andy Eliison

КОМЕНТАРІ • 3,2 тис.

  • @SebastianLague
    @SebastianLague  3 роки тому +2729

    I find these endlessly entertaining for some reason, so here are few bonus reasons why rocks float in the air (according to GPT-3, by OpenAI):
    - In the planet's gravity, rocks are heavier than air. But since there is no gravity in the air ~because it's not a planet~ the rocks float.
    - Some rocks, such as pumice have an air pocket in the centre. The air pocket creates buoyancy, which makes the rock float.
    - Rocks float in the air because they are not affected by forces such as gravity, which pull other objects downwards.
    - The rocks are not floating in the air, they are floating on the ground.
    - The rocks are caught in the updraught, causing them to float.

    • @timothymasters8497
      @timothymasters8497 3 роки тому +372

      I never realised... All these years, I've been floating on the ground.

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

      That last one could be

    • @maxthexpfarmer3957
      @maxthexpfarmer3957 3 роки тому +15

      @@jaakkopontinen The rocks would still spin in the air.

    • @jaakkopontinen
      @jaakkopontinen 3 роки тому +11

      There is no mention of spinning or not from what I can see.

    • @calebschultz4270
      @calebschultz4270 3 роки тому +50

      these seem like perfect theories made by the local population to try and explain the phinominom. All of them could be wrong, but it is that universe's universal mistery that every civilization has a different theory on trying to explain it. I love it!

  • @you_just
    @you_just 3 роки тому +3130

    “That made the squiggly red line go away, which is all I’m really trying to do”
    This hit way too close to home

  • @unhott1893
    @unhott1893 3 роки тому +1174

    omg- I love the idea of someone playing a game, looking up and seeing a rock. and a little clue icon pops up for more info and it just says "Rocks don't float in the air. They are too heavy for that" with no further explanation.

    • @horowitzhill6480
      @horowitzhill6480 3 роки тому +137

      then they look away, but the next time they look at the same rock, it's no longer there 🤣

    • @dumuzi7297
      @dumuzi7297 2 роки тому +23

      @@horowitzhill6480 yeah, because it triggered the action of deleting the voxel.

    • @ichbins173
      @ichbins173 Рік тому +23

      Then the rock drops and kills the player or deals damage

    • @criptych
      @criptych Рік тому +9

      Or "That's not actually a rock, it's just a hallucination."

    • @imbecilesque_214
      @imbecilesque_214 11 місяців тому

      We

  • @leerv.
    @leerv. 2 роки тому +1036

    "That made the squiggly red line go away, which is of course all I'm really trying to achieve when I'm programming" -- 10/10 too true!

    • @jfk_the_second
      @jfk_the_second 2 роки тому +7

      If only it were that simple. 😂
      'Twas a brilliant joke from him anyhow.

    • @arkanon8661
      @arkanon8661 2 роки тому +18

      The key word here is trying. Normally you cause more squiggly red lines to appear

    • @leerv.
      @leerv. 2 роки тому

      @@arkanon8661 I'm convinced they're actually a propagating lifeform that sometimes reproduces when split.

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

      @@arkanon8661 lmfao very true

    • @thecodingcrafter3888
      @thecodingcrafter3888 2 роки тому +9

      "ok red lines are gone"..
      *doesn't work*
      confooz

  • @comradejames7813
    @comradejames7813 3 роки тому +1029

    Those rocks are actually moons that are in a geo-stationary orbit.

    • @flabort
      @flabort 2 роки тому +111

      I was trying to remember the word geo-stationary recently, thanks. But now that you've reminded me what word I was trying so hard to come up with, now I can't remember why I was trying to remember it.

    • @comradejames7813
      @comradejames7813 2 роки тому +45

      @@flabort haha sorry and your welcome

    • @loganvurklemeyer1957
      @loganvurklemeyer1957 2 роки тому +64

      @@flabort task failed successfully

    • @danetpie
      @danetpie 2 роки тому +10

      That would still mean that this "planet" is rotating a lot!

    • @warlandheroes6394
      @warlandheroes6394 2 роки тому +7

      @@flabort This has happened to me way too many times

  • @khajaja
    @khajaja 3 роки тому +503

    6:20 “lets label that a feature” man’s halfway to becoming a Bethesda Dev.

  • @deidyomega
    @deidyomega 3 роки тому +589

    How I know you are a real programmer:
    "Lets label that a feature and move on"

    • @Tea-oc3gh
      @Tea-oc3gh 2 роки тому +3

      To be fair, There have been times where I've made something, its not worked as intended, but actually ended up being better than what I wanted to achieve, So Sometimes happy accidents happen.

  • @Spookyhoobster
    @Spookyhoobster 2 роки тому +335

    9:48 love how he just calmly explains running into that kind of problem. I know something like that would've made me feel like I've fundamentally lost my grip with reality.

    • @zachrobinson8357
      @zachrobinson8357 2 роки тому +12

      Bro at this point I HAVE lost my grip with reality.

  • @masonfranks
    @masonfranks 2 роки тому +151

    Astroneer in a nutshell.
    Honestly, I wish I could do this stuff for myself and actually make something like this.

    • @KanriKaenan
      @KanriKaenan 2 роки тому +28

      Do it! I've learned how to implement the Marching Cubes algorithm using Sebastian's video and the resources he provided and am now also just taking slow baby steps towards making bigger things with it. It's hard because I haven't coded for as long as he has but you can't ever get there if you don't try.

  • @manuelgamez8074
    @manuelgamez8074 3 роки тому +556

    I'll be absolutely crazy the day you decide combining all your projects in one single experimental game. I hope my machine can run it

    • @fisch37
      @fisch37 3 роки тому +18

      Imagine the logic sim combined with the space exploration

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

      @@fisch37 lol

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

      @@fisch37 You'll have to make components for the ship or something!!!
      Would be amazing!

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

      @@TheWilyx About what I thought

    • @F0r3v3rT0m0rr0w
      @F0r3v3rT0m0rr0w 3 роки тому +5

      Lesson to be learnt Never throw out old code. You can always repurpose it

  • @SmellyNutz
    @SmellyNutz 3 роки тому +529

    I have a feeling that all these adventures are gonna come together in a giant game

    • @INeatFreak
      @INeatFreak 3 роки тому +35

      Sounds like a avengers movie lol

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

      imagine slime molds growing on the planets

    • @fisch37
      @fisch37 3 роки тому +4

      You!

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

      that would be hella epic 👌

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

      will make no mans sky look like poo

  • @michaelgussert6158
    @michaelgussert6158 2 роки тому +248

    i legitimately love that this series is "here's how your favorite games work". this is literally No Mans Sky!

    • @MastalinkZ
      @MastalinkZ 2 роки тому +71

      I thought there more of Astroneer : )

    • @delofon
      @delofon 2 роки тому +26

      Astroneer, Modded Minecraft, No Man's Sky (not sure on this one tbh), Space Engineers, Subnautica... all apply. -All- _Most™️_ use voxel grids to define terrain and marching cubes to render it. There are more examples, I'm sure, but these are the only ones that come to my mind.

    • @dpterminusreal
      @dpterminusreal 9 місяців тому +1

      distant wilderness

    • @jakubstaniszewski304
      @jakubstaniszewski304 6 місяців тому

      ​@@delofondeep rock galactic definitely

  • @ronxinator9050
    @ronxinator9050 2 роки тому +118

    "So I made some sticky lights"
    *Sees Sticky Lights*
    Starts throwing money at him

  • @DoodleChaos
    @DoodleChaos 3 роки тому +1598

    Those sticky lights are so satisfying!

    • @actually_a_sign3954
      @actually_a_sign3954 3 роки тому +12

      Huh. Even DC is interested in coding adventures!

    • @theblueceand
      @theblueceand 11 місяців тому

      What's the name of the song under the video?

  • @MythicLegionDev
    @MythicLegionDev 3 роки тому +4360

    So satisfying to see knowledge and lessons learned from past projects coming together to help make something new. Awesome job!

    • @vakqdev
      @vakqdev 3 роки тому +41

      Please upload

    • @lifeseeker7728
      @lifeseeker7728 3 роки тому +17

      Upload now!

    • @soupe.silent_e
      @soupe.silent_e 3 роки тому +31

      1. I agree
      2. I don't even need a new video, for a while I legit thought you died. Glad to know you're ok.

    • @nejatulusal1475
      @nejatulusal1475 3 роки тому +20

      He is alive

    • @too-many-choices
      @too-many-choices 3 роки тому +5

      wHenS tHe nExt dEvLog-
      /j

  • @dcmayo
    @dcmayo Рік тому +82

    I come back and watch this video every so often because it never fails to inspire me.

  • @maxkonietzko4478
    @maxkonietzko4478 Рік тому +13

    7:22 - 9:46 this whole sequence of events is the most accurate visualization of what being a programmer feels like

  • @nnnik3595
    @nnnik3595 3 роки тому +155

    Ah yes its starting to come together

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

      It certainly is

  • @gimpdoctor8362
    @gimpdoctor8362 3 роки тому +251

    astroneer devs: "well fuck he just did the first two years of our whohle game"

    • @verified_tinker1818
      @verified_tinker1818 3 роки тому +24

      This wasn't just done in one project. He's combining the many projects he's worked on previously.

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

      Too true

    • @gcxs
      @gcxs 3 роки тому +5

      calling out no man's land devs

    • @verified_tinker1818
      @verified_tinker1818 3 роки тому +9

      @@gcxs It's No Man's Sky. 😂

    • @too-many-choices
      @too-many-choices 3 роки тому +6

      @@verified_tinker1818 Are you assuming there’s no land in the sky?

  • @leathalblaze6374
    @leathalblaze6374 2 роки тому +24

    10:16 "And that made the squiggly red line go away, which of course is all I'm really trying to achieve when I'm programming"

  • @BanditBloodwyn
    @BanditBloodwyn 2 роки тому +135

    If you ask me: THIS is the best Coding Adventure video you've ever made so far! Keep on going!
    Btw: YOU were the reason why I tried out Unity some day and now game development is a hobby of mine

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

      Ayy same, this guy's a god! I've gone more in the simulations direction myself but Sebastian is such an inspiration!

  • @Jabrils
    @Jabrils 3 роки тому +1847

    Seb, my guy, you are a master craftsman, & I am reminded after every beautiful video of yours that I watch. 😢

    • @hmthatsniceiguess2828
      @hmthatsniceiguess2828 3 роки тому +27

      You are an inspiration yourself my man! I wish outside-the-box creators like you guys would find a common language, put their strengths into action and collab on something fresh.

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

      U both are my inspiration ❤️

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

      @@hmthatsniceiguess2828 I hope to bring these guys together and hire them for making courses on a website.

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

      Seb and Jabrils? What is this, a crossover episode?!

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

      @@paperrocketeer hm, that's nice, I guess.

  • @olqb9532
    @olqb9532 3 роки тому +321

    Me: Trying to figure out why my character wont jump.
    Sebastian: Casually recreates No Mans Sky on Launch Day.

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

      Not quite lol

    • @achtsekundenfurz7876
      @achtsekundenfurz7876 3 роки тому +23

      Not only NMS, but _Astroneer_ as well!

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

      Seb still needs to figure out how to make the character not fall through the ground.
      Don't be too hard on yourself, and learn :)

    • @aceman0000099
      @aceman0000099 2 роки тому +5

      Its very easy to make a program _look_ like its more impressive than it is, especially with an edited video like this.
      Just look at Cyberpunk 2077 for an example

    • @evanescentenquirer2684
      @evanescentenquirer2684 2 роки тому +12

      @@aceman0000099 Either way, this guy isn't an AAA developer team so anything even close is impressive.

  • @hadengibbons3539
    @hadengibbons3539 Рік тому +8

    I love that you can see the parallels between the bugged worlds, and the farlands from older minecraft builds

  • @shanehajny4738
    @shanehajny4738 Рік тому +23

    As a game designer who wants to know what he's doing in all aspects of designing a game, I really appreciate that you share your code as you go on these adventures! It really helps to be able to "learn with you" and have an idea of what went wrong when you try stuff and how you solve it. The depth really helps, as then I have a bit more of an idea of what could go wrong, and, more importantly, why it is going wrong.

  • @ridlr9299
    @ridlr9299 3 роки тому +107

    I love how Sebastian can get away with making zero art assets and still have his game look beautiful through code alone

    • @hyeve5319
      @hyeve5319 3 роки тому +11

      You should go look at Shadertoy (a website). It's art out of pure math and code :>

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

      I do that too in my projects LOL.
      Immediate edit: Code is sufficient if you have enough knowledge of colors and...imagination. Just know how to code some basic geometry and you are good to go! :>

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

      "Programmer art"

  • @isaac5990
    @isaac5990 3 роки тому +243

    Prediction: Sebastian's going to be adding ants to his little world.

    • @kagedevshorts4886
      @kagedevshorts4886 3 роки тому +13

      and weird slime fungus creatures too

    • @PKMartin
      @PKMartin 3 роки тому +17

      The way all this stuff is coming together, there's going to be boid fish in the sea, slime mold, ants, and probably some kind of Spore-esque complex animals before long

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

      And a chess ai if you get bored

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

      and probably a computer on a bread board

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

      Do you want ants, because that's how yo get ants!

  • @nightmareblocks
    @nightmareblocks 2 роки тому +11

    10:49 actually really surprised me. I never would have thought that the binary of a float and an int could be so different

    • @cerealkeepsyougoingeveryda555
      @cerealkeepsyougoingeveryda555 Рік тому +4

      The floating point format is based on the IEEE 754 standard which is based on standard form. To put it simply:
      In a 32 bit float the first bit is the sign bit 0 = +, 1 = -
      The next 8 bits are the exponent where the exponent is offset by a bias of -127
      So the exponent can be expressed as 2^(n-127)
      The last 23 bits are the mantissa which is a number normalised between 1 and 2, since the mantissa must start with a non zero digit and binary only has 1 non zero digit, the one at the start is omitted but assumed to be there giving 23 bits of precision.
      So a whole float can be expressed as:
      Sign bit * (mantissa/(2^23)) * 2^(exponent-127)
      I hope your understanding of floats is better now!

  • @fergarram
    @fergarram 3 роки тому +15

    I love the fact that you call these "Coding Adventures" they so much feel like adventures 💛

  • @jimboli9400
    @jimboli9400 3 роки тому +770

    Sebastian, you don't understand how much I look up to these videos as a computer science student. I am still in secondary school but you are the motivation that makes me code day and night. I recently presented an implementation of the TSA ant colony code to my class and it filled me up with happiness teaching something so fascinating. Seriously, please keep doing what you are doing, you are making a massive difference. Outstanding work. Thanks.

    • @joecolvin4203
      @joecolvin4203 3 роки тому +13

      @Jim Boli, I totally agree and keep in mind that tutoring/teaching is something you can get paid for doing. That might be something of a end goal you will want to check into, if you find that you enjoy tutoring or passing along knowledge. Maybe you might want to try to be a professional educator (professor/teacher) of computer science discipline.
      I did tutoring for binary math and basic networking in collage. I have been looking to get back to that type of job ever since. Hindsight, should have done some teaching classes and/or equivalent certification for teaching/training. Supposedly, that does make it easier to land that type of career.

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

      Same

    • @armokgodofblood2504
      @armokgodofblood2504 3 роки тому +5

      I got my degree in CS two years ago and I still look up to his work.

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

      Just finished up my dissertation on naive surface nets for terrain - similar to marching cubes, having been looking forward to it since his first procedural video. You got this!

  • @dlvT-win
    @dlvT-win 3 роки тому +450

    i like how you show people that there is never anything perfect first try in programming, because a lot of times people get frustrated with their project, because they think they are bad at programming and never considered that they should just try out and think of new ideas to tackle a problem. keep up the good work

    • @fisch37
      @fisch37 3 роки тому +11

      Yeah, everyone who thinks programming works first time is way wrong

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

      WOAH WOAH WOAH!!! Let me get this perfectly straight: You comment something that is completely unrelated to the fact that I have two HAZARDOUSLY HOT girlfriends? Considering that I am the unprettiest UA-camr worldwide, it is really incredible. Yet you did not mention it at all. I am VERY disappointed, dear elh

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

      To be fair, most people are bad at programming... Mostly because they get brainwashed with OOP from the early stages of their programming experience.

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

      @@Borgilian Don't let your username alarm you.

    • @TheBcoolGuy
      @TheBcoolGuy 3 роки тому +4

      Yeah. I'm a good programmer. I know that. I've been programming for years, I understand a great deal of it including the concepts in most of these videos. I make my own games and I have a big project in the works myself. However, this guy's programming abilities always make me feel a bit inadequate. Then again, he's probably not as skilled at other things as I am. Who knows? Maybe I'm better at making a game fun than he is? Regardless, I think it's apples and oranges. His implementation of an idea won't be the same as mine, nor will the experience, but we are both likely to make something good.

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

    the Chunk Woes calm voiceover blandly describing what's happening coupled with the nonsensical smashing at the keyboard and the increasingly tense music is the perfect way to depict the frustration of coding

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

    every time im stuck on something, i think about the problem in your voice and the solution comes so easily

  • @officiallyjk420
    @officiallyjk420 3 роки тому +653

    Seeing the the sun rise for the first time on a world you generated yourself is so surreal

  • @greenstonegecko
    @greenstonegecko 3 роки тому +106

    "This old project is very similar, this is going to be easy for you right? You did this method before, and you can copy your own code!"
    *me looking at my own code from last week*: "I've never seen this garbage in my life... Who wrote this utter nonsense?"

  • @pooglies125
    @pooglies125 3 роки тому +61

    Looks great, love these coding adventures! Now you just need to combine this with your bunnies and wolves adventure to create a planet with an ecosystem. You could give animals the ability to dig into the mesh and make the mesh take more energy to dig through the deeper you go, and even add burrowing as a gene etc.

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

    Content to consider:
    - Rare minerals / materials to find buried within the planets
    - Seismic tools to detect where materials might be
    - The ability to build simple objects / bases
    - Solar panels to power your buildings, charge batteries for your tool
    - A Heat system to the planet (the deeper you go, the warmer it gets, the better materials / suits / vehicles you need to go deeper)
    - The goal could be to find all the materials needed to level up your buildings which can then ultimately create a spaceship which can get you off world to the next world
    - Each world might be easier or harder to terraform in various ways... maybe some have harder material which makes it more difficult to terraform, more expensive to terraform
    - Each world can have one or two unique materials which can be used to create newer modules you couldnt make on previous worlds
    - Each world adds an ability to the Spaceship, making it able to go further or longer, act as its own entire base so you no-longer need to create bases on each planet but can instead focus on upgrading your spaceship with the ultimate goal being to develop the spaceship enough to the point it can travel intergalactically, back to "Earth"... maybe you are lost in an alien galaxy and are trying to return home with nothing but your wits and your basic terraform tool

  • @TheCherno
    @TheCherno 3 роки тому +1324

    Brilliant - always love your videos and creativity!

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

      Hi

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

      same bro, yours are good as well tho

    • @swiftcodey
      @swiftcodey 3 роки тому +15

      Legends collide :O

    • @SebastianLague
      @SebastianLague  3 роки тому +126

      Thank you! I've seen a number of your game engine programming videos, and find them really fascinating. I really need to make time to watch the entire series.

    • @TheCherno
      @TheCherno 3 роки тому +120

      @@SebastianLague thank you! Every time I watch one of your videos I always think that’s exactly the kind of stuff I’d be doing if I had just used an engine instead of building my own! I can’t wait to do this kind of stuff in Hazel when it’s ready (almost there!)

  • @crispyrice
    @crispyrice 3 роки тому +205

    When your physics don't make sense, use an AI to make up an excuse for it.
    Always valuable lessons learned from your videos

  • @sowierdgames1223
    @sowierdgames1223 Рік тому +4

    22:22 long video was just purely amazing. And AMAZING video for someone like me getting into coding!

  • @maywakeTV
    @maywakeTV 26 днів тому

    Thank you Sebastian. This is art. I especially loved the lights you shot in the tunnels. That was beautiful.

  • @Danidev
    @Danidev 3 роки тому +2557

    God damn this is so cool, the result is absolutely amazing! Can't wait to see more

  • @lforlight
    @lforlight 3 роки тому +56

    Those sticky lights are strangely satisfying every time you fire them out.
    Now you just need to add Tribes' skiing+jetpack mechanics, and you've got yourself a fun place to go fast in, with custom routes and ramps.

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

      Yes Tribes Skiing would be awesome in that little planet.

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

    These videos about creating planets and other small worlds are so wholesome I'm actually on tears. I had a few stressful days and they really brightened my mood a lot. Thank you Seb

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

    I stumbled upon this and love every bit of it. I got excited every time you showed the code for how you created everything, and now I want to go try it! Thank you for the video!

  • @SebSenseGreen
    @SebSenseGreen 3 роки тому +49

    "Lets label it as a feature and move on."
    I chuckled a bit.

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

      I also really enjoyed: “Programming can be… such a joy sometimes.”

  • @genericytprofile852
    @genericytprofile852 3 роки тому +537

    *Next Episode:*
    Coding Adventure: Implementing Alien Ecosystems to My Planets Through Natural Selection and Evolution

    • @qusaiagha5852
      @qusaiagha5852 3 роки тому +21

      Someone needs to actually make this tho

    • @jonomoth2581
      @jonomoth2581 3 роки тому +11

      This youtuber called biblidarion isn't programming anything but is designing a realistic alien ecosystem.

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

      Would be interesting if he did a callback to Conway's Game of Life simulation. It's also fun because it's one of the more common intro programming projects in college. Seems like it could apply here in a more creative way.

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

      God that would be awesome, gives me primer vibes

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

      Third episode. I am got a cease and desist letter from the team of No Man's Sky.

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

    This series really speaks to me. I get very passionate about my creations and about half my time working on them is me just appreciating their beauty. It's so good to see that in your work. Work that is by anyone's standard way above what I am doing, but that doesn't hurt me, it just makes it all the more enjoyable.

  • @RainboomSam
    @RainboomSam 3 роки тому +138

    For the water calculation, I would definitely look up Gerstner waves! Nvidia has a paper on it and can make extremely beautiful and natural-looking water without being too performance intensive.

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

      Does the paper work for spheres?

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

      @@durnsidh6483 From what I've seen the concept of gerstner waves is super simple and generalized. You basically have a sine wave of points, like in the vid, then make each point into a circle and make your vertex that spins around that circle. The two motions combine to make a wave that comes together and apart very nicely.
      Thats how it works in 2d, I image you could just make the points into spheres instead, and have the direction of the sine waves be an arc across the planet

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

      @@thomasrosebrough9062 The problem with Gerstner waves in spheres is you'll always have a point (or more?) on the surface where a standing node resides. This is similar to the Hairy Ball Problem, where there is no way to comb a hairy sphere in a way that no hair overlaps or stands up.

  • @leparkorcraft3100
    @leparkorcraft3100 3 роки тому +180

    My man's literally recreating the universe

    • @michaeladams4999
      @michaeladams4999 3 роки тому +5

      I'm saying bruh bruh. How can man casually code his thoughts using C#?

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

      Yes

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

      I am too on roblox

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

      He is the creator of the reality stage below us, so he's technically their god 😁

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

      With some new features: flyoig rocks.

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

    It took me four evenings to finish your video. It's so beautifully calming in a way, that I end up falling asleep right away, after a stressful day of work.
    Your videos are so endlessly cool - thank you!

  • @micahvanm6324
    @micahvanm6324 2 роки тому +13

    All of these projects have to be leading up to one big game and I simply can't wait to see the end result!

  • @Aubron
    @Aubron 3 роки тому +84

    Alright folks, this isn't a drill, he's making a full game at this point.

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

      what is the music at 4:48 ? i love it , someone please help me out

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

      @@jacobthemuffin3804 Astroneer (Game)

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

      Minecraft started with less than this

  • @phileon2323
    @phileon2323 3 роки тому +83

    This brought a tear to my eye. You have no idea how much I look up to Sebastian as a developer. Been working on procedural generation and simulations on my own during the last year by following his lead.

    • @joecolvin4203
      @joecolvin4203 3 роки тому +4

      @Phileon, I'm so impressed by Sebastian and how he can, in a meaningful way, convey and transfer knowledge. It touches me how good Sebastian is at that, not many can do that.

  • @mistergriffin3239
    @mistergriffin3239 Рік тому

    I've just barely stubled upon your videos and, my friend, I'm hooked. this may be relevant information that i'm looking for so i may be biased, but the whole presentation is so calming, thuroughly explained, and just an absolute pleasure to have witnessed. I look forward to seeing the rest of your content!

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

    Absolutely incredibly done, very interesting to see how you work and approach problems!

  • @nothappyz
    @nothappyz 3 роки тому +60

    "Terraforming" is such an understatement for the title lol

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

      playing god low resolution would be more accurate

  • @talonstride
    @talonstride 3 роки тому +60

    Combing bit-sized demos of your projects into a large"AAA" game is a huge stepping stone of what you've learned. Keep up the coding adventure.

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

    This is amazing! It really feels like the fruits of your previous videos coming together.

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

    Man, for the last two years I only did programing at work, but since I found your channel it rekindled the fire for creating games and fun projects, that I've once had when I first started as a kid, thank you. Keep up the awesome work

  • @iamnotgonnatellyou
    @iamnotgonnatellyou 3 роки тому +43

    "So let's label that a feature and move on"
    I feel that one in my soul.

  • @matthewspencer6669
    @matthewspencer6669 3 роки тому +129

    My life cycle: Build confidence as a programmer for months. Sebastian releases a video. Go back to thinking I'm a beginner. Repeat.

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

    I love the way you write code and solve problems, it's so inspiring, your videos always amaze me

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

    It is so motivating seeing how much u improve with each project.
    Great work

  • @nix3l_
    @nix3l_ 3 роки тому +73

    Wow the other day i thought to myself
    “Its been a while since the last coding adventure i hope one comes out soon”

  • @TebiByyte
    @TebiByyte 3 роки тому +202

    Sebastian: "Explain how rocks float in the air."
    AI: "Rocks don't float"
    Ah machine learning.
    Also, really impressed with the results here, the shaders especially. I absolutely love the way the water looks.

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

      It's already becoming "alibaba smart"

  • @kristoferkrus
    @kristoferkrus 2 роки тому +6

    Hi Sebastain, nice job, very impressive to see what you're able to create! When it comes to wave simulation, a very common technique is to Fourier transform the surface elevation and its first time derivative with fast Fourier transform (FFT), perform a time step in the frequency domain (this basically amounts to adding fixed value to the phase angle for each frequency component individually) using Airy wave theory, and the perform the inverse Fourier transform. It's maybe conceptually easier to use the real part of a complex-valued surface elevation instead of using the surface elevation and its first time derivative, since this makes it clear how the phase angle comes in. You may even get the waves to look choppy, more closely resembling real trochoidal waves, by adding pi/2 to the phase angle once you are in the frequency domain, and calculating a horizontal offset rather than a vertical one from what that gives you. For more details on this technique, see for example the paper "Simulating Ocean Water" by Jerry Tessendorf.
    Then waves are typically larger the more windy it is, and the longer distance they have had to build up, as well as aligned with the wind, and this is also different for different wavelengths (this is all collected in what is known as a "wave spectrum"). For that reason, isolated water inside a cave typically have no waves at all, unless something else has been stirring up the water. But this is starting to get quite complex.
    I wrote about this (along with a microfacet-based illumination model for sea surfaces) in my master thesis if you want to read about it: liu.diva-portal.org/smash/get/diva2:686612/FULLTEXT01.pdf
    On a sphere, however, I suppose you would need to use spherical harmonics instead of the Fourier transform, since that would be the corresponding transformation. I don't really have any experience with spherical harmonics myself, but there seem to be fast ways to calculate the spherical harmonics corresponding to FFT (e.g. "A Fast Transform for Spherical Harmonics" by Martin J. Mohlenkamp). What you also need to know is the eigenfrequency of each spherical harmonic, in order to increase the phase angle with the correct amount.

  • @ericrichard9854
    @ericrichard9854 3 роки тому +149

    "Hey everyone welcome to coding adventure, today we're gonna create the whole universe"

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

      @Ezequiel Ciamparella and also simulating every second of it

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

      @@oddgruegd No, every infinite-th timestep, and also modify Unity/NVIDIA PhysX to do that.

  • @matthewhubka6350
    @matthewhubka6350 3 роки тому +37

    GTP-3 understood buoyancy, gravity, mirages, magnets, and the fact that rocks don’t float. That’s incredible. 6:15

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

      It is coming sooner than expected!

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

      Watching AI evolve and improve like this during our lifetime is amazing to witness

    • @haileycollet4147
      @haileycollet4147 3 роки тому +4

      "Understood" is taking it a bit (OK, a lot) far, but the degree to which it can combine information from different areas & sources and turn it into understandable English is truly incredible.

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

    Amazing production. Your use of music and flow has become so amazing.

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

    Another great video and project Sebastian! Watching you explore at the end, I could totally see my kids playing this for hours on end. Heck, even I wanted to!. Very cool, keep up the great work and explainer content!

  • @maddieLund
    @maddieLund 3 роки тому +21

    Oh my goodness, this was amazing. Your videos are the perfect combination of education, humor, entertainment, and just pure wholesomeness. It seems like you do something impossible, and then you go 5 steps further and further and further. This video in particular may be my favorite of any of yours. The atmosphere of the video, the music, the actual coding: everything is so perfectly done. You inspire people like me so much, and I just want to say that you're awesome. Keep on going, we all think you're awesome!

  • @spiyder
    @spiyder 3 роки тому +57

    seb: hey ai, can you explain how rocks can float for some context for my game
    ai: oh rocks don’t float, they’re too heavy for that

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

      Oh, sorry, you must have confused me with a SIMPLETON

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

    The result is outstandingly beautiful in my opinion, a work of art! You are intertwining programming and graphics showcasing great skills.

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

    This project - and the way you talk about the coding and building involved - eerily reminds me of the issues and complexities I’ve been dealing with while “programming” my brain in order to make my “self” behave in a predictable way.

  • @RacarCatilla
    @RacarCatilla 3 роки тому +39

    I love these coding adventures! I always click on them ASAP whenever they come out. You never fail to impress and inspire. As a somewhat new coder I can’t imagine even approaching some of these problems, but you make me hope one day I can do similar things. Thanks for sharing your talents with us!!

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

    You're pretty much my main source of coding knowledge in this world. Please never stop! Your work is amazing!

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

    The simple beauty of these rendered terrains combined with the relaxing music creates an amazingly comforting experience, I love these videos

  • @62mer
    @62mer 3 роки тому +23

    “And that made the squiggly red line go away, which of course is all I’m really trying to achieve when I’m programming.”

  • @capsey_
    @capsey_ 3 роки тому +73

    Imagine if Astroneer developers actually created Time Machine to watch this tutorial to develop the game

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

      Plot twist: Sabastian created the time machine to send Astroneer into the past, along with these videos.

    • @too-many-choices
      @too-many-choices 3 роки тому +5

      Plot Twist: Sebastian is actually the creator of video games, and a time machine

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

    I love love love how you use the audio. The high points with the explanation (chef's kiss)

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

    I love this channel. Somebody exploring all the things I would love to do, but lack time and skill to do. Thanks for letting us participate in your adventures. And I love the mixture of results and code snippets (and bugs)

  • @TotallyKnotRigged
    @TotallyKnotRigged 3 роки тому +15

    I'm basically speechless. Like, I'm not the only one that can't believe this, right?

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

      Technically, this has been done before, but Sebastian is very generous to take time to show us the whole process and explain in such detail. He is humble and honest about bugs, which would often discourage those new to programming, and the script explains everything in an understandable way without dumbing things down.
      All this and with a very pleasant tone of voice. This channel is a gem. The code samples are the icing on the cake, and are interesting even for people who don't use Unity.

  • @gustavowadaslopes2479
    @gustavowadaslopes2479 3 роки тому +16

    Interesting Future projects:
    - Biomes
    - Wind patterns (shown through waves, clouds, grass, trees and gust/gale lines)
    - Tectonic plates (first on a plane, then on a Sphere)

  • @NicolasEmbleton
    @NicolasEmbleton 8 місяців тому

    Awesome video. Loved to see the process and the insights.

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

    Whenever I watch you, all past accomplishment go away, in the dust, gone. I remember that in life there will be people that are endlessly more talented, and smarter than me.

  • @Deanin
    @Deanin 3 роки тому +21

    I live for these videos. They're like professional therapy for me haha.

  • @smith1401
    @smith1401 3 роки тому +103

    If you want to visualize waves on a sphere I would definitely have a look on “spherical harmonics”. We use it all the time in geodesy to visualize spatial data on our globe :) the mathematics behind all this unfortunately is everything but trivial. It was(is) for me at least 😅 cheers and keep up the great videos! Chris

    • @natmath2576
      @natmath2576 2 роки тому +6

      Furthermore, spherical harmonics are complete and orthonormal, thus any function on a sphere can be evaluated with a sum of them. So it would be possible to do as he is doing with noise and layer multiple of them to get less "ordered" results.

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

      I doubt if it is computationally heavy for sphs of higher frequencies.

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

      @@fangzhangmnm6049 It shouldn't require matrix multiplication so I think he is safe. It should not be much harder than evaluating a normal sin function. (I even think that is spherical harmonic to something like first order) Depending on which order he goes to ofc.

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

      @@sumsar01 I conquer, I conquer

  • @jacksontriffon5064
    @jacksontriffon5064 Рік тому +11

    Hey! It's a terraforming platformer , that looks like a lot of fun and it'd be cool to try get from A to B quickly with only a limited amount of terraforming available :)

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

    Your channel is full of astounding material, keep up the amazing work!

  • @lordpyrrole1881
    @lordpyrrole1881 3 роки тому +15

    7:15 is just No Man's Sky on launch day.

  • @dennis4374
    @dennis4374 3 роки тому +4

    The only series I have my notifications on for! I really love this series and I hope we get to see more of it! 😁

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

    19:19-19:53 this whole segment was kinda beautiful, ngl

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

    First time I've seen one of your videos and they're captivating. Great atmosphere you create, love the story-telling and all so interesting and well-explained. For the first time in my life, I want to learn maths so I can make planets! Massive thumbs up!

  • @glassbirds4153
    @glassbirds4153 3 роки тому +17

    Never this fast as I was in meeting, then I went to toilet just to watch this.

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

      Odd, I watched this while in the bathroom as well... I wonder how many others did the same thing.

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

      @@joecolvin4203 I can't watch this in the bathroom. I have to watch it while eating on my big monitor

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

    Absolutely incredible, as usual. A challenge for you: when the chunk updates, check if any 'voxel' points aren't supported and make them 'fall' towards the center of gravity, essentially adding Minecraft style sand 'physics'. You might be able to modify this for use on water too, replacing the sphere with voxels. You would of course somehow have to store a material type on each point. Also you should look into 'Sparse quadtrees' and their application with voxels for better performance and chunking. Might allow you to make a much larger planet.

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

      That kind of physics would make tunnels impossible.

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

      @@evannibbe9375 That’s like the flood fill algorithm he said would be too slow, but much slower

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

      There's no deterministic way to know if a mesh is "connected" to the "ground" other than by walking through all the vertices until you either find the "center" to be inside the mesh, or run out of neighboring vertices. In other words this would be incredibly expensive to test every time you morph terrain.
      Also, having "voxels" fall down wouldn't really look like it is falling down, but rather it "blob-ly melts" downwards, because the vertices from which they are composed are static.

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

      @@Meoiswa I think you could get pretty good performance for the testing actually, since there's a lot of optimizations you can do. For a start, you'd want to use a pathing algorithm such as A* to walk through the vertices, and you could also discount a lot of vertices based on where you've been so far - you only need to find and then run along the edges of the terrain to determine if it's connected or not.

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

    youre insane, when you added the sticky lights my mind totally forgot this was a coding project, youre amazing at your craft, good job!

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

    You're videos are super well crafted. Well done

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

    Day 1 of telling Sebastian that he should combine all his projects into a massive open universe simulation for people to buy and play

  • @abraxas365
    @abraxas365 3 роки тому +4

    7:40
    *Starts hearing In The Hall Of The Mountain King*
    Me: Ah. So it will end in chaos.