Coding Adventure: Terraforming

Sdílet
Vložit
  • čas přidán 31. 05. 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

Komentáře • 3,2K

  • @SebastianLague
    @SebastianLague  Před 3 lety +2732

    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 Před 3 lety +372

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

    • @jaakkopontinen
      @jaakkopontinen Před 3 lety +22

      That last one could be

    • @maxthexpfarmer3957
      @maxthexpfarmer3957 Před 3 lety +15

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

    • @jaakkopontinen
      @jaakkopontinen Před 3 lety +11

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

    • @calebschultz4270
      @calebschultz4270 Před 3 lety +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 Před 3 lety +3135

    “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 Před 3 lety +1185

    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 Před 3 lety +140

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

    • @dumuzi7297
      @dumuzi7297 Před 3 lety +24

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

    • @ichbins173
      @ichbins173 Před rokem +25

      Then the rock drops and kills the player or deals damage

    • @criptych
      @criptych Před rokem +11

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

    • @imbecilesque_214
      @imbecilesque_214 Před rokem

      We

  • @leerv.
    @leerv. Před 2 lety +1040

    "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 Před 2 lety +7

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

    • @arkanon8661
      @arkanon8661 Před 2 lety +18

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

    • @leerv.
      @leerv. Před 2 lety

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

    • @bettercalldelta
      @bettercalldelta Před 2 lety +1

      @@arkanon8661 lmfao very true

    • @thecodingcrafter3888
      @thecodingcrafter3888 Před 2 lety +9

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

  • @comradejames7813
    @comradejames7813 Před 3 lety +1032

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

    • @flabort
      @flabort Před 2 lety +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 Před 2 lety +45

      @@flabort haha sorry and your welcome

    • @loganvurklemeyer1957
      @loganvurklemeyer1957 Před 2 lety +65

      @@flabort task failed successfully

    • @danetpie
      @danetpie Před 2 lety +10

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

    • @warlandheroes6394
      @warlandheroes6394 Před 2 lety +7

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

  • @khajaja
    @khajaja Před 3 lety +506

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

  • @deidyomega
    @deidyomega Před 3 lety +593

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

    • @Tea-oc3gh
      @Tea-oc3gh Před 2 lety +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 Před 2 lety +336

    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 Před 2 lety +12

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

  • @masonfranks
    @masonfranks Před 3 lety +151

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

    • @KanriKaenan
      @KanriKaenan Před 3 lety +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.

  • @DoodleChaos
    @DoodleChaos Před 3 lety +1598

    Those sticky lights are so satisfying!

  • @manuelgamez8074
    @manuelgamez8074 Před 3 lety +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 Před 3 lety +18

      Imagine the logic sim combined with the space exploration

    • @legohexman2858
      @legohexman2858 Před 3 lety +1

      @@fisch37 lol

    • @TheWilyx
      @TheWilyx Před 3 lety +6

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

    • @fisch37
      @fisch37 Před 3 lety +1

      @@TheWilyx About what I thought

    • @F0r3v3rT0m0rr0w
      @F0r3v3rT0m0rr0w Před 3 lety +5

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

  • @leathalblaze6374
    @leathalblaze6374 Před 2 lety +26

    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"

  • @michaelgussert6158
    @michaelgussert6158 Před 2 lety +248

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

    • @MastalinkZ
      @MastalinkZ Před 2 lety +71

      I thought there more of Astroneer : )

    • @delofon
      @delofon Před 2 lety +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 Před 10 měsíci +1

      distant wilderness

    • @jakubstaniszewski304
      @jakubstaniszewski304 Před 6 měsíci

      ​@@delofondeep rock galactic definitely

  • @MythicLegionDev
    @MythicLegionDev Před 3 lety +4360

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

  • @SmellyNutz
    @SmellyNutz Před 3 lety +529

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

    • @INeatFreak
      @INeatFreak Před 3 lety +35

      Sounds like a avengers movie lol

    • @bomboid
      @bomboid Před 3 lety +33

      imagine slime molds growing on the planets

    • @fisch37
      @fisch37 Před 3 lety +4

      You!

    • @mythryl9930
      @mythryl9930 Před 3 lety +1

      that would be hella epic 👌

    • @mickyr171
      @mickyr171 Před 3 lety +8

      will make no mans sky look like poo

  • @ronxinator9050
    @ronxinator9050 Před 2 lety +119

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

  • @dcmayo
    @dcmayo Před rokem +82

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

  • @isaac5990
    @isaac5990 Před 3 lety +243

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

    • @kagedevshorts4886
      @kagedevshorts4886 Před 3 lety +13

      and weird slime fungus creatures too

    • @PKMartin
      @PKMartin Před 3 lety +18

      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 Před 3 lety +3

      And a chess ai if you get bored

    • @makkarthellakattu1835
      @makkarthellakattu1835 Před 3 lety +1

      and probably a computer on a bread board

    • @TheRealMobiius
      @TheRealMobiius Před 3 lety +1

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

  • @olqb9532
    @olqb9532 Před 3 lety +321

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

    • @aceman0000099
      @aceman0000099 Před 3 lety +3

      Not quite lol

    • @achtsekundenfurz7876
      @achtsekundenfurz7876 Před 3 lety +23

      Not only NMS, but _Astroneer_ as well!

    • @R4ndomNMBRS
      @R4ndomNMBRS Před 2 lety +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 Před 2 lety +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 Před 2 lety +12

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

  • @maxkonietzko4478
    @maxkonietzko4478 Před rokem +13

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

  • @BanditBloodwyn
    @BanditBloodwyn Před 2 lety +136

    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 Před 2 lety +1

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

  • @nnnik3595
    @nnnik3595 Před 3 lety +155

    Ah yes its starting to come together

  • @ridlr9299
    @ridlr9299 Před 3 lety +108

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

    • @hyeve5319
      @hyeve5319 Před 3 lety +11

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

    • @Brahvim
      @Brahvim Před 3 lety +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 Před 3 lety +1

      "Programmer art"

  • @fntthesmth423
    @fntthesmth423 Před 2 lety +1

    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

  • @hadengibbons3539
    @hadengibbons3539 Před rokem +8

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

  • @officiallyjk420
    @officiallyjk420 Před 3 lety +653

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

  • @greenstonegecko
    @greenstonegecko Před 3 lety +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?"

  • @shanehajny4738
    @shanehajny4738 Před rokem +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.

  • @nightmareblocks
    @nightmareblocks Před 2 lety +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 Před rokem +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!

  • @gimpdoctor8362
    @gimpdoctor8362 Před 3 lety +251

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

    • @verified_tinker1818
      @verified_tinker1818 Před 3 lety +24

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

    • @DecDuck
      @DecDuck Před 3 lety

      Too true

    • @gcxs
      @gcxs Před 3 lety +5

      calling out no man's land devs

    • @verified_tinker1818
      @verified_tinker1818 Před 3 lety +9

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

    • @RickyC0626
      @RickyC0626 Před 3 lety +2

      @@too-many-choices The Moon is sky land

  • @dlvT-win
    @dlvT-win Před 3 lety +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 Před 3 lety +11

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

    • @AxxLAfriku
      @AxxLAfriku Před 3 lety +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 CZcamsr worldwide, it is really incredible. Yet you did not mention it at all. I am VERY disappointed, dear elh

    • @Borgilian
      @Borgilian Před 3 lety +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 Před 3 lety +2

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

    • @TheBcoolGuy
      @TheBcoolGuy Před 3 lety +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.

  • @maywakeTV
    @maywakeTV Před měsícem +1

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

  • @konrad8509
    @konrad8509 Před 2 lety +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

  • @jimboli9400
    @jimboli9400 Před 3 lety +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 Před 3 lety +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 Před 3 lety +1

      Same

    • @armokgodofblood2504
      @armokgodofblood2504 Před 3 lety +5

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

    • @rise6471
      @rise6471 Před 3 lety +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!

  • @Jabrils
    @Jabrils Před 3 lety +1847

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

    • @hmthatsniceiguess2828
      @hmthatsniceiguess2828 Před 3 lety +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 Před 3 lety +3

      U both are my inspiration ❤️

    • @paperrocketeer
      @paperrocketeer Před 3 lety +1

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

    • @amoliski
      @amoliski Před 3 lety

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

    • @jakehix8132
      @jakehix8132 Před 3 lety +1

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

  • @fergarram
    @fergarram Před 3 lety +15

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

  • @kaare1992
    @kaare1992 Před 3 lety

    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!

  • @lforlight
    @lforlight Před 3 lety +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 Před 3 lety

      Yes Tribes Skiing would be awesome in that little planet.

  • @crispyrice
    @crispyrice Před 3 lety +206

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

  • @felixmerz6229
    @felixmerz6229 Před 2 lety

    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.

  • @Oblivaddict
    @Oblivaddict Před 19 dny +1

    man every time i stumble upon one of these they're so good.

  • @Danidev
    @Danidev Před 3 lety +2556

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

  • @TheCherno
    @TheCherno Před 3 lety +1324

    Brilliant - always love your videos and creativity!

    • @tylerchaney9619
      @tylerchaney9619 Před 3 lety +7

      Hi

    • @Dop4miN
      @Dop4miN Před 3 lety +8

      same bro, yours are good as well tho

    • @swiftcodey
      @swiftcodey Před 3 lety +15

      Legends collide :O

    • @SebastianLague
      @SebastianLague  Před 3 lety +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 Před 3 lety +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!)

  • @treadfire863
    @treadfire863 Před 2 lety

    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!

  • @mistergriffin3239
    @mistergriffin3239 Před rokem

    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!

  • @SebSenseGreen
    @SebSenseGreen Před 3 lety +49

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

    • @KubikDezimeter
      @KubikDezimeter Před 3 lety +2

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

  • @RainboomSam
    @RainboomSam Před 3 lety +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 Před 3 lety +2

      Does the paper work for spheres?

    • @thomasrosebrough9062
      @thomasrosebrough9062 Před 3 lety +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 Před 3 lety

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

  • @Skeffles
    @Skeffles Před 3 lety +1

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

  • @furan8477
    @furan8477 Před 2 lety

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

  • @genericytprofile852
    @genericytprofile852 Před 3 lety +537

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

    • @qusaiagha5852
      @qusaiagha5852 Před 3 lety +21

      Someone needs to actually make this tho

    • @jonomoth2581
      @jonomoth2581 Před 3 lety +11

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

    • @Shadowsphere1
      @Shadowsphere1 Před 3 lety +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 Před 3 lety

      God that would be awesome, gives me primer vibes

    • @kisbiflos
      @kisbiflos Před 3 lety +1

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

  • @Aubron
    @Aubron Před 3 lety +84

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

    • @alangustav7100
      @alangustav7100 Před 3 lety

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

    • @BsAnimation0
      @BsAnimation0 Před 3 lety +1

      @@jacobthemuffin3804 Astroneer (Game)

    • @p_x_
      @p_x_ Před 3 lety +2

      Minecraft started with less than this

  • @inchworm9311
    @inchworm9311 Před 2 lety +1

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

  • @leparkorcraft3100
    @leparkorcraft3100 Před 3 lety +180

    My man's literally recreating the universe

  • @phileon2323
    @phileon2323 Před 3 lety +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 Před 3 lety +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.

  • @omegablender
    @omegablender Před 3 lety +1

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

  • @TortonikLP
    @TortonikLP Před 3 lety

    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

  • @nothappyz
    @nothappyz Před 3 lety +60

    "Terraforming" is such an understatement for the title lol

    • @ismael8926
      @ismael8926 Před 3 lety +1

      playing god low resolution would be more accurate

  • @talonstride
    @talonstride Před 3 lety +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.

  • @SlothfulSins
    @SlothfulSins Před 3 lety

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

  • @tedkrapf1302
    @tedkrapf1302 Před 3 lety

    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!

  • @nix3l_
    @nix3l_ Před 3 lety +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 Před 3 lety +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 Před 3 lety +2

      It's already becoming "alibaba smart"

  • @poochy661
    @poochy661 Před 2 lety

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

  • @ENetArch
    @ENetArch Před 23 dny +1

    I love your choice of music for the various parts of the construction process =)

  • @iamnotgonnatellyou
    @iamnotgonnatellyou Před 3 lety +43

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

  • @matthewspencer6669
    @matthewspencer6669 Před 3 lety +129

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

  • @pocketlint4182
    @pocketlint4182 Před 2 lety

    Bro I get chills just watching this and I have no idea why. I don't understand any of this but it's so incredible to see you create something amazing from nothing. My jaw was dropped for a solid half of this video. Absolutely incredible stuff. That's a sub from me.

  • @stealcase
    @stealcase Před 2 lety

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

  • @ericrichard9854
    @ericrichard9854 Před 3 lety +149

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

    • @oddgruegd
      @oddgruegd Před 3 lety +6

      @Ezequiel Ciamparella and also simulating every second of it

    • @Brahvim
      @Brahvim Před 3 lety +2

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

  • @LunaAlphaKretin
    @LunaAlphaKretin Před 2 lety

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

  • @bejoscha
    @bejoscha Před 3 lety

    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)

  • @RacarCatilla
    @RacarCatilla Před 3 lety +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!!

  • @maddieLund
    @maddieLund Před 3 lety +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!

  • @KleberMoreiraVieira
    @KleberMoreiraVieira Před 3 lety

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

  • @mmyesrice2522
    @mmyesrice2522 Před 3 lety

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

  • @spiyder
    @spiyder Před 3 lety +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 Před 3 lety +3

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

  • @matthewhubka6350
    @matthewhubka6350 Před 3 lety +37

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

    • @haroldbn6816
      @haroldbn6816 Před 3 lety

      It is coming sooner than expected!

    • @Dezomm
      @Dezomm Před 3 lety +1

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

    • @haileycollet4147
      @haileycollet4147 Před 3 lety +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.

  • @sowierdgames1223
    @sowierdgames1223 Před rokem +4

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

  • @seanmenzies1986
    @seanmenzies1986 Před 2 lety

    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!

  • @62mer
    @62mer Před 3 lety +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.”

  • @smith1401
    @smith1401 Před 3 lety +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 Před 3 lety +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 Před 2 lety

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

    • @sumsar01
      @sumsar01 Před 2 lety +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 Před 2 lety

      @@sumsar01 I conquer, I conquer

  • @kristoferkrus
    @kristoferkrus Před 2 lety +7

    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.

  • @MultiAsger
    @MultiAsger Před 2 lety +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!

  • @TotallyKnotRigged
    @TotallyKnotRigged Před 3 lety +15

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

    • @xyzzy3000
      @xyzzy3000 Před 3 lety +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.

  • @capsey_
    @capsey_ Před 3 lety +73

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

    • @joecolvin4203
      @joecolvin4203 Před 3 lety +8

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

    • @too-many-choices
      @too-many-choices Před 3 lety +5

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

  • @pboytrif1
    @pboytrif1 Před 2 lety +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

  • @micahvanm6324
    @micahvanm6324 Před 2 lety +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!

  • @Deanin
    @Deanin Před 3 lety +21

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

  • @lordpyrrole1881
    @lordpyrrole1881 Před 3 lety +15

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

  • @jacksontriffon5064
    @jacksontriffon5064 Před rokem +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 :)

  • @bradleyfallon6847
    @bradleyfallon6847 Před rokem +3

    Literally laughing out loud at this. "...and that made the squiggly red line go away, which of course is all I'm really trying to achieve when I'm programming."

  • @dennis4374
    @dennis4374 Před 3 lety +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! 😁

  • @gustavowadaslopes2479
    @gustavowadaslopes2479 Před 3 lety +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)

  • @unnikrishnannamboothiri8120

    Though I didn't understood a single thing, it was really satisfying to watch. I also like the way you add the music which makes it soooo FUN!. Keep up the good work 😀

  • @twicejiggled
    @twicejiggled Před 2 lety

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

  • @glassbirds4153
    @glassbirds4153 Před 3 lety +17

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

    • @joecolvin4203
      @joecolvin4203 Před 3 lety +2

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

    • @Real_Genji
      @Real_Genji Před 3 lety

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

  • @TheForbiddenLOL
    @TheForbiddenLOL Před 3 lety +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 Před 3 lety +1

      That kind of physics would make tunnels impossible.

    • @ultimatedude5686
      @ultimatedude5686 Před 3 lety +6

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

    • @Meoiswa
      @Meoiswa Před 3 lety +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 Před 3 lety

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

  • @Baelfyr
    @Baelfyr Před 10 měsíci

    I have to say, this is amazing work, i honestly really hope I can get to this level of programming. Its amazing the way you tackle the problem and overcome the puzzles.

  • @pooglies125
    @pooglies125 Před 3 lety +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.

  • @scratchndent2149
    @scratchndent2149 Před 3 lety +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