3D Conway's Game of Life

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ค. 2024
  • Conway's Game of Life
    In python and unity
    From the classic 2D grid to 3D space, witness the evolution of this simulation.
    random thoughts: / yynill
    part 2 • Conway's Game of Life ...
    python code: github.com/yynill/GameOfLife
    unity code: github.com/yynill/GameOfLifeU...

ความคิดเห็น • 139

  • @ichigo169_g7
    @ichigo169_g7 6 หลายเดือนก่อน +82

    My critique is that you said you would play with the rules to see what would happen but
    Didn't show that on camera and/or didn't have notes showcasing different rules

    • @yynill
      @yynill  6 หลายเดือนก่อน +21

      th-cam.com/video/-cIf6hYi8NE/w-d-xo.htmlsi=OcCdwObI9_ziOu_4 here you go.

  • @neologicalgamer3437
    @neologicalgamer3437 5 หลายเดือนก่อน +45

    Something that would be cool is if cells that had just been born were green, cells that have survived more than one round be blue, and cells that are about to die red, or maybe some other more smooth colour gradient; it could be cool to see the cells have their colour change by age. Idk though, I'm just a TH-cam comment

    • @zawake
      @zawake 5 หลายเดือนก่อน +1

      You're not just a youtube comment... or maybe you are, Idk, I'm just a reply

    • @yynill
      @yynill  5 หลายเดือนก่อน +2

      hello reply

    • @yynill
      @yynill  5 หลายเดือนก่อน +1

      kinda did that in part 2

  •  6 หลายเดือนก่อน +43

    Pretty neat.
    The end would be even more amazing if you had rotated the camera around the cube while the cells are changing

  • @emilbks7143
    @emilbks7143 6 หลายเดือนก่อน +51

    The morse code at 7:32 translates to "Do cool shit with cool people" (in case anyone were wondering)
    Great visualization at the end (though it would've been great if you also showed ranges for the rules for each simulation)

  • @zunv
    @zunv 5 หลายเดือนก่อน +14

    Im always surprised when I accidently stumble upon these small channels and then they have such polished videos. Great job man! I really enjoyed the video :D

  • @joshypeepoo
    @joshypeepoo 6 หลายเดือนก่อน +22

    Editing was amazing, and the 3d visualization at the end was insane! Also loved the code + visual aspect of your video. Keep it up!

    • @yynill
      @yynill  6 หลายเดือนก่อน

      :)

  • @siddharthdubale
    @siddharthdubale 5 หลายเดือนก่อน +12

    How about running this on a volumetric display?

  • @cycloneshocke7208
    @cycloneshocke7208 หลายเดือนก่อน

    genuinely think you're too underrated. this has higher quality than some videos from channels with millions of subscribers, and i hope your channel reaches that million subs as well. good job man. keep it up.

  • @Gogeta70
    @Gogeta70 4 หลายเดือนก่อน +3

    Cool video, I wrote my own version of Conway's game of life in C++ like 15 years ago, but never considered doing it in 3D. I think you did a pretty good job demonstrating what that looks like. One correction though, you said that OpenGL is a Python extension. That's... not quite right. OpenGL is a graphics library that directly communicates with your graphics card to provide accelerated 2D and 3D drawing capabilities. Python, along with many other languages, can interface with the OpenGL library to make use of these capabilities. Saying it's a Python extension is like saying DirectX is a Python extension.

    • @yynill
      @yynill  4 หลายเดือนก่อน +1

      I didn't know that. Thanks for letting me know.

  • @Beateau
    @Beateau 4 หลายเดือนก่อน +1

    Man, such a great video. This needs to blow up. The end result was nothing short of amazing. Great video, stellar coding. I can't wait to see you go places.

  • @euviaofreesoul717
    @euviaofreesoul717 4 หลายเดือนก่อน

    Thank you. This shines the nature behind cymatics and resonance. I love it so much. Hope to play with it in future.

  • @astroorbis
    @astroorbis 6 หลายเดือนก่อน +8

    dude, the production quality on this is insane! also, nice rs3m :3

    • @yynill
      @yynill  6 หลายเดือนก่อน +1

      Thanks. Can you solve it?

    • @astroorbis
      @astroorbis 6 หลายเดือนก่อน +2

      @@yynill yup! pb is 18 seconds, but I've rusted back to 30-35s

  • @johnpatten4055
    @johnpatten4055 4 หลายเดือนก่อน

    First off, keep doing what you're doing! On the other hand, Tech with Tim did a cool interpretation of Life 2D where he noted that you don't have to loop over every single cell in the array. Life or Death will always be the result of a Living cell, so he only loops through a list of Living cells to see if it Lives or Dies, and if any of it's neighbors should be Born. He did this in Python at speeds approaching 60fps in Pygame. It would be interesting to see if your Python version of Life 3D would be fast enough to enjoy if you employed that stategy. Thanks for the great video!

    • @yynill
      @yynill  3 หลายเดือนก่อน

      thanks a lot and noted. may come back in the future.

  • @CriticalMonkey623
    @CriticalMonkey623 5 หลายเดือนก่อน +3

    No way, I had a similar idea a couple weeks ago but I had no clue how to implement it. Awesome to see someone did it, and made such a cool video showing the project off too!

    • @yynill
      @yynill  5 หลายเดือนก่อน +2

      thanks a lot. You should try it again.

  • @mekkler
    @mekkler 4 หลายเดือนก่อน

    The rule for 2 live cells can be simplified for programming purposes as: if a cell has 2 live neighbors, then the next generation value will be equal to the current value, whatever it is.

  • @rubixube4239
    @rubixube4239 5 หลายเดือนก่อน +2

    woah the editing is amazing

  • @craftyzombie4317
    @craftyzombie4317 4 หลายเดือนก่อน

    Fantastic video. It was compelling enough where I revived my attention span to stay for the whole thing!

    • @yynill
      @yynill  3 หลายเดือนก่อน +1

      in war with tiktok. haha. thanks

  • @qwerty_qwerty
    @qwerty_qwerty 5 หลายเดือนก่อน +3

    this is awesome, insanely underrated

    • @yynill
      @yynill  5 หลายเดือนก่อน

      thanks

  • @SuperAronGamerMNO
    @SuperAronGamerMNO 5 หลายเดือนก่อน +1

    lmao, I was practicing 4x4 while listening to this, then I looked up at 4:00

  • @iwantedtohaveabigytnamepsi2007
    @iwantedtohaveabigytnamepsi2007 4 หลายเดือนก่อน

    absolutely awesome video mate, keep it going!!!

    • @yynill
      @yynill  3 หลายเดือนก่อน

      Thanks, will do!

  • @FASI231
    @FASI231 2 หลายเดือนก่อน

    Man this idea randomly came to my mind, i thought no one whould have implemented it lol

  • @Tech1ty
    @Tech1ty 5 หลายเดือนก่อน

    Awesome vid dude!

  • @Mikelaxo
    @Mikelaxo 4 หลายเดือนก่อน

    Cool video, I didn't expect this channel to be so small

    • @yynill
      @yynill  3 หลายเดือนก่อน

      e^x

  • @galou4308
    @galou4308 4 หลายเดือนก่อน

    Awsome work ! Keep it up !

  • @DaffyDaffyDaffy33322
    @DaffyDaffyDaffy33322 4 หลายเดือนก่อน

    Really good production quality and nice presentation. I thought you had more subscribers based on that. +1 subscriber

    • @yynill
      @yynill  3 หลายเดือนก่อน +1

      :)

  • @amazingmation97
    @amazingmation97 5 หลายเดือนก่อน +1

    Wow, amazing video!

  • @strawberriesandcum
    @strawberriesandcum 6 หลายเดือนก่อน +3

    Can't wait for the 4D version

    • @yynill
      @yynill  6 หลายเดือนก่อน +2

      Haha yeah. You could do it with 4d (even ∞d) vectors, but visualising could be a little challenging.

    • @timothyandrewausten
      @timothyandrewausten 6 หลายเดือนก่อน +1

      Can you show us a single 3D plane of the 4D space?

    • @Leadvest
      @Leadvest 5 หลายเดือนก่อน +2

      It'll be more noisy with each extra dimension, and It's already hard to parse what's going on in the 3d version without plenoptic vision and holographic display.

    • @yynill
      @yynill  5 หลายเดือนก่อน +1

      @@Leadvest true. I made it rotate in part 2. There you can see it a little better, but 4D is as you said very hard to grasp.

  • @caden8770
    @caden8770 5 หลายเดือนก่อน

    great video amazing editing extremely underrated 🎉🎉

  • @exedeath
    @exedeath 5 หลายเดือนก่อน

    The problem with 3d is that we only see 2d and it gets harder to see the shapes.
    One idea is to have 3d by cell color, the grid is 2d, there are 256^3 colors, this would allow a 3d conway with a height of 24 at max.

  • @nWestie
    @nWestie 5 หลายเดือนก่อน +2

    super cool idea, never seen this before

    • @yynill
      @yynill  5 หลายเดือนก่อน

      ;)

  • @DaRza17
    @DaRza17 4 หลายเดือนก่อน +1

    Guter scheiß, ist zwar etwas zu weit für meinen momentanen Horizont aber sehr interessant.

  • @illuminum8576
    @illuminum8576 4 หลายเดือนก่อน +1

    Really nice video

  • @lesdeuxtchoupi4694
    @lesdeuxtchoupi4694 6 หลายเดือนก่อน +1

    Great video man 💪 hope you’ll persevere

    • @yynill
      @yynill  6 หลายเดือนก่อน

      many projects on my mind

  • @anon_y_mousse
    @anon_y_mousse 5 หลายเดือนก่อน +1

    I would suggest adjusting the opacity of individual cells dependent on how many cells are between them and the camera, as well as adjust the camera angle in some way to demonstrate the 3D nature of the "universe". Perhaps even color them differently at different layers and/or depths.

    • @yynill
      @yynill  5 หลายเดือนก่อน +2

      th-cam.com/video/-cIf6hYi8NE/w-d-xo.htmlsi=J3HS-XeTR7td1TD6

  • @jacoblockwood4034
    @jacoblockwood4034 6 หลายเดือนก่อน +2

    I really liked this video. I thought your explanation of regular GoL was clear and not too long. I think that if the main point of this video is the 3D version of Game of Life, it might have been better to spend less time on your 2D implementation, especially the image loader. I felt the Rubik's cube montage had a lot of emphasis on it, I think it would be better if you had done the explaining of 2d vs 3d GoL while you solved the cube, either as voiceover or just while you were solving it. The thing with the papers was nice, I guess that could come after you finished solving it. Lastly, I think putting a little time into showing what's happening in the code is nice, but in my opinion the best way of doing it is just a short high-level explanation of the algorithm with maybe a coding montage in the background, although explaining issues you ran into isn't bad. Overall, these are some relatively minor nitpicks, the video was good. Subscribed and shared.

    • @yynill
      @yynill  6 หลายเดือนก่อน +1

      Thanks a lot for the feedback.

  • @JjMn1000
    @JjMn1000 5 หลายเดือนก่อน

    This truly is impressive

  • @justtony5149
    @justtony5149 5 หลายเดือนก่อน +1

    I feel like the slowness came from the fact it was python... And i think unity is in something close to c#

    • @justtony5149
      @justtony5149 5 หลายเดือนก่อน +1

      The morse code intervention was really cool

    • @yynill
      @yynill  5 หลายเดือนก่อน

      python is so slow, but I love it.

  • @aepokkvulpex
    @aepokkvulpex 4 หลายเดือนก่อน

    I think an isometric view would be really cool

  • @mikokamin2586
    @mikokamin2586 6 หลายเดือนก่อน

    Damn 300 subscribers and that video keep up the work

    • @yynill
      @yynill  6 หลายเดือนก่อน

      202 but we gettin there haha. Much love.

  • @user-zp5ig6yf9j
    @user-zp5ig6yf9j 6 หลายเดือนก่อน

    awesome video bro keep up the good work

    • @yynill
      @yynill  6 หลายเดือนก่อน +1

      Thanks! Will do!

  • @Supanova81
    @Supanova81 5 หลายเดือนก่อน

    If it's performance you seek, compute shaders would be perfect for this aplication.

  • @Turalcar
    @Turalcar 6 หลายเดือนก่อน +2

    0:17 "automaton" not "automation"

    • @yynill
      @yynill  6 หลายเดือนก่อน

      thx

  • @robingates-shannon931
    @robingates-shannon931 5 หลายเดือนก่อน

    you probably should have an epilepsy warning for the thing at 9:09, but otherwise great video

  • @COBADTARESSA
    @COBADTARESSA 2 หลายเดือนก่อน

    Thats awesome work right there. Gg. I was thinking, while looking at the patterns, it resemble the pattern of life, the one DaVinci and fibonacci was working on. I don't remember the exact name of the pattern I think is the flower magic number or something...

  • @moonstone0999
    @moonstone0999 6 หลายเดือนก่อน +1

    Love the video and the code explanations! Although it might be a lot of work, zooming into the code that you are talking about would be a lot easier to follow than just highlighting it. Currently, I have to squint to be able to read what going on so zooming in would be really helpful!

    • @yynill
      @yynill  6 หลายเดือนก่อน

      Noted!

  • @marsim4150
    @marsim4150 5 หลายเดือนก่อน

    nice job 🙂

    • @yynill
      @yynill  5 หลายเดือนก่อน

      Thanks

  • @walkerjian
    @walkerjian 6 หลายเดือนก่อน

    very nicely done, I tried a similar thing a while ago, didn't end up as nice as this :)

    • @yynill
      @yynill  6 หลายเดือนก่อน

      Cool, thanks! This might be the time to go back and revisit that project.

  • @mirkonaessens9331
    @mirkonaessens9331 5 หลายเดือนก่อน

    If it was coded in assembly, it would've been much more efficient

  • @almendratlilkouatl
    @almendratlilkouatl 5 หลายเดือนก่อน

    peyote wants to enter the conversation

  • @Mcneds
    @Mcneds 5 หลายเดือนก่อน

    Ok now i wanna try this but also do something wierd with the bounds of the simulation so it doesnt look too much exactly like a cube

    • @yynill
      @yynill  5 หลายเดือนก่อน

      do it

  • @Apeiron242
    @Apeiron242 5 หลายเดือนก่อน +1

    CGoL doesn't look at diagonal adjacency, just orthogonal.
    If the 3D version is to be consistent, each cube has six neighbors.

    • @xeridea
      @xeridea 5 หลายเดือนก่อน +3

      Actually, CGoL checks 8 neighbors, check the Wikipedia page.

  • @darrennew8211
    @darrennew8211 5 หลายเดือนก่อน

    You can also adjust the 2D rules such that you get beautiful cave-like layouts totally appropriate for generating video game levels. Basically, don't die from over-crowding, and you get nice organic shapes. (Probably could do it in 3D also.)
    It's interesting to see someone relatively new to programming forgetting all the stuff that's already ingrained into the practices of experienced programmers. (By which I mean the not thinking about running off the end of the array before it happens.) Another way to handle that is to just zero out (i.e., kill) the outside edges/faces after each generation.

    • @yynill
      @yynill  5 หลายเดือนก่อน

      learning by doing

  • @_PapstFranziskus_
    @_PapstFranziskus_ 6 หลายเดือนก่อน

    Hey I really love your style and design. To the code I can’t say much because I am currently learning python my self and am not good at it. Maybe you could have shown the 3D visual from a bit of an angle (it was a little difficult to see in the end). Definitely subscribed. 👍

    • @yynill
      @yynill  6 หลายเดือนก่อน

      part 2 :)

  • @aarongreenberg159
    @aarongreenberg159 5 หลายเดือนก่อน

    Should have more views!!

  • @poisonouspotato1
    @poisonouspotato1 5 หลายเดือนก่อน +1

    loved the vid
    one question: Did you consider using Godot instead of crooked unity? If so, why did you choose unity?

    • @yynill
      @yynill  5 หลายเดือนก่อน

      Haven't put much thought into it. I think I saw Sebastian Lague use UNITY in his projects.
      will look into Godot, thanks!

    • @poisonouspotato1
      @poisonouspotato1 5 หลายเดือนก่อน

      @@yynill open source ftw :)

  • @Snakyboopface-Tori
    @Snakyboopface-Tori 6 หลายเดือนก่อน

    Amazing video!!! the close up shot with the rubix cube looked a little over exposed btw

    • @yynill
      @yynill  6 หลายเดือนก่อน +1

      THANKS! - Will improve video qualities in future videos.
      How about the sound?

    • @Snakyboopface-Tori
      @Snakyboopface-Tori 6 หลายเดือนก่อน

      @@yynill the sound was ok I think

  • @Idiot354
    @Idiot354 4 หลายเดือนก่อน +1

    wow!

  • @scarletevans4474
    @scarletevans4474 4 หลายเดือนก่อน

    About the last animation in 3D, I think you really should add an information about what rules you used here... what's the point of us looking at this, other than it looking cool, if we have no idea what rules are followed and what numbers did you choose? After all, you said at the end that the point is to learn, but you still keep the way the last animation works a secret :P
    So which one is it? :-)

  • @Voshchronos
    @Voshchronos 5 หลายเดือนก่อน

    NOW WITH 4D!

  • @zetathix
    @zetathix 5 หลายเดือนก่อน

    Give a translucency for material and orbit the camera would be nice, feels like loss some meaning of 3d when it uses still angle and opaque material

    • @yynill
      @yynill  5 หลายเดือนก่อน

      watch part 2

  • @NicosLeben
    @NicosLeben 4 หลายเดือนก่อน

    6:59 Python is not that fast, yes. But I am very certain that your data structures to store the field are just very naiv too. I am pretty sure you can do it quite fast with Python too.

    • @yynill
      @yynill  3 หลายเดือนก่อน

      how could i improve it?

    • @NicosLeben
      @NicosLeben 3 หลายเดือนก่อน

      @@yynill I don't know how to speed up the OpenGL stuff but for the state changes you might consider working with numpy and big sparse matrices that keep the state of the cubes. Or try 3d convolution where the convolution kernel can calculate the resulting "lifeness" value from all the cells nearby. Search for "game of life 2d convolution" to get an idea of what I mean.

  • @winnie8614
    @winnie8614 6 หลายเดือนก่อน

    Why code is so small. espessially at 5:37 ?

    • @yynill
      @yynill  6 หลายเดือนก่อน

      will fix that in the next one.

  • @gorenbk
    @gorenbk 4 หลายเดือนก่อน

    OpenGL is a PyGame extension?

    • @yynill
      @yynill  3 หลายเดือนก่อน

      still learning

    • @gorenbk
      @gorenbk 3 หลายเดือนก่อน

      @@yynill ❤️🇵🇸🍉

  • @caverman524
    @caverman524 4 หลายเดือนก่อน

    Hi!

  • @tylerboothman4496
    @tylerboothman4496 6 หลายเดือนก่อน

    I tried to make this work a long time ago, but couldn't get it to work right.

    • @yynill
      @yynill  6 หลายเดือนก่อน

      Why?

    • @tylerboothman4496
      @tylerboothman4496 6 หลายเดือนก่อน

      @@yynill Mostly the 3D stuff got me. I could do 2D, but couldn't translate it up. I should try again sometime

  • @MichielvanderBlonk
    @MichielvanderBlonk 4 หลายเดือนก่อน

    Is this open source? Where's your code?

    • @yynill
      @yynill  4 หลายเดือนก่อน

      added in desc

  • @beaverbuoy3011
    @beaverbuoy3011 5 หลายเดือนก่อน

    :O

  • @YoussefGamerYT
    @YoussefGamerYT 6 หลายเดือนก่อน

    make sure to do cool shit with people

    • @yynill
      @yynill  6 หลายเดือนก่อน

      thats my life philosophy

  • @meinewelt475
    @meinewelt475 5 หลายเดือนก่อน +1

    I can hear dein Deutsch.

    • @yynill
      @yynill  5 หลายเดือนก่อน

      hallo :)

  • @TheRedKorsar
    @TheRedKorsar 4 หลายเดือนก่อน

    Do cool shit with cool people

    • @yynill
      @yynill  3 หลายเดือนก่อน +1

      life philosophy

  • @drominitoketchup
    @drominitoketchup 6 หลายเดือนก่อน

    bro why are you using python for 3D rendering?

    • @soft6418
      @soft6418 6 หลายเดือนก่อน

      Why not bro

    • @drominitoketchup
      @drominitoketchup 6 หลายเดือนก่อน +1

      @@soft6418 Because it's slooooooooooooooooow.

    • @yynill
      @yynill  6 หลายเดือนก่อน +1

      agree thats why unity

    • @drominitoketchup
      @drominitoketchup 6 หลายเดือนก่อน

      @@yynill unity = ea. So also no.

    • @yynill
      @yynill  6 หลายเดือนก่อน +1

      whats a good alternative?