🦕 Top 9 Ways To Make Big Sand

  Рет қаралды 33,132

TodePond

TodePond

3 жыл бұрын

EPISODE 28
Secret Froggy Heroes Club: / todepond
Pond of fame: pondoffame.todepond.cool
Try out SandPond: sandpond.cool
Github: github.com/l2wilson94
Twitter: / todepond
Instagram: / todepond
All the code from this video is here: github.com/l2wilson94/BigPond
FOOTAGE
"Choose Your Own Physics"
The T2 Tile Project
Dave Ackley
• Choose Your Own Physic...
MUSIC
"Flutes"
CRi
Anjunadeep
"State Lines (Extended Mix)"
Tagavaka
Anjunadeep
"Love Is Not Enough (Jody Wisternoff & James Grant Remix)"
Above & Beyond feat Zoë Johnston
Anjunadeep
SOUNDS
"Water Drop"
Mike Koenig
soundbible.com
"Frog Sound"
Hikeart
/ @hikeart
INTRO ANIMATION
Flora Caulton
floracaulton.com

Пікірлер: 98
@teemee7670
@teemee7670 2 жыл бұрын
Interesting how getting rid of RGB from RGBA got a lot more than 4x speed improvement.
@TodePond
@TodePond 2 жыл бұрын
Yeah weird! I wonder if there was something else contributing to the speedup! All the code is up at github.com/l2wilson94/BigPond
@shadamethyst1258
@shadamethyst1258 Жыл бұрын
I think it has better vectorization potential
@urisinger3412
@urisinger3412 Жыл бұрын
its 16x
@NoNameAtAll2
@NoNameAtAll2 Жыл бұрын
less cpu cache misses
@TheFlynCow
@TheFlynCow Жыл бұрын
@@NoNameAtAll2 values for rgba are next to each other in memory so they would be on the same cache line.
@Roxor128
@Roxor128 Жыл бұрын
The ditching RGB from RGBA made me think "You're _so close_ to working with indexed colour, like it's 1993!"
@TodePond
@TodePond 9 ай бұрын
That's what I did in CellPond in newer vids!
@z-beeblebrox
@z-beeblebrox Жыл бұрын
finally, someone addresses the problem of Big Sand
@MrAppleGuySnake
@MrAppleGuySnake 2 жыл бұрын
The music sync on the finding neighbors part is such a great detail that isn't being appreciated enough
@TodePond
@TodePond 2 жыл бұрын
Haha thanks - I'm glad you appreciated that
@jonnmostovoy2406
@jonnmostovoy2406 Жыл бұрын
Wow! Thanks for noting, I didn't notice it, it just looked and sounded organic. Even though sand isn't. Organic. Get it? *shows themselves out*
@jamesdowell5268
@jamesdowell5268 Жыл бұрын
This channel is just entirely too good, I'm about to be a frog patron
@TodePond
@TodePond Жыл бұрын
glad you like this one too! you'd be very welcome at the pond but please only join if you want!
@comp.lex4
@comp.lex4 Жыл бұрын
This was a really good title. I had no idea what it was about, but I had to click, to learn about BIG sand
@Bencurlis
@Bencurlis 3 жыл бұрын
Glorious hardware teamwork, impressive!
@TodePond
@TodePond 3 жыл бұрын
Thank you! Todes are stronger if they work together 🐸🐸🐸
@GearsDatapacks
@GearsDatapacks Жыл бұрын
Didn't expect you to go into WebAssembly and WebGL
@CubsYT
@CubsYT 2 жыл бұрын
I got recommended a video of yours from 2019, it's really cool seeing how far you've gotten
@TodePond
@TodePond 2 жыл бұрын
Amazing, thanks! I'm glad you're here for the journey! 🐸
@CubsYT
@CubsYT 2 жыл бұрын
@@TodePond Your content is sick! I've been in love with Cellular Automatas my entire life but it's really rare finding people with similar interests, do you have any plans on ever making a Discord Server?
@TodePond
@TodePond 2 жыл бұрын
@@CubsYT Thanks! Maybe one day! :)
@momin9730
@momin9730 3 жыл бұрын
Very good, as always. I hope you will upload more.
@TodePond
@TodePond 3 жыл бұрын
Thank you very much! I will carry on doing one per month :)
@pazka
@pazka Жыл бұрын
You godamn deserve my sub and I can't wait to watch more of your work !! Amazing editing, amazing subject, amazing didactic narration
@z1ngg957
@z1ngg957 3 жыл бұрын
Wow, that's so cool! I've never heard of web assembly before this :>
@TodePond
@TodePond 3 жыл бұрын
Thank you! WebAssembly is great 🤩
@nuclearcrow28
@nuclearcrow28 Жыл бұрын
Honestly quite incredible. Great video quality.
@flameofthephoenix8395
@flameofthephoenix8395 Жыл бұрын
The next speed improvement would be making the hardware specifically to run sand simulations. Then you would have to ditch high-level programming languages next. Byte code is the way to go.
@PolarTop6260
@PolarTop6260 10 ай бұрын
I love these kinds of videos
@commenteroftruth9790
@commenteroftruth9790 Жыл бұрын
your art and hard work is amazing.
@kylethescientist
@kylethescientist Жыл бұрын
I never thought I'd hear of someone else who knows about the T2 Tile project!
@PolarTop6260
@PolarTop6260 8 ай бұрын
I have watched this video several times every time at different times but still don't have any ideas on creating any of its strats
@HiHi-iu8gf
@HiHi-iu8gf Жыл бұрын
banger video big sand
@ajbdkla3652
@ajbdkla3652 3 жыл бұрын
So cool! Tile sand is the future!
@TodePond
@TodePond 3 жыл бұрын
Thank you! That would be cool :)
@anshitmohanty3013
@anshitmohanty3013 Жыл бұрын
I had no idea wtf he solved or what even the problem was to begin with......but I truly enjoyed it
@james.oswald
@james.oswald 3 жыл бұрын
Supercomputer Sand when
@TodePond
@TodePond 3 жыл бұрын
Soon, I hope!!!
@teemee7670
@teemee7670 2 жыл бұрын
@@TodePond Quantum computer sand
@TodePond
@TodePond 2 жыл бұрын
@@teemee7670 One day!!!
@eboatwright_
@eboatwright_ 2 жыл бұрын
These are super cool! Great job! :D
@TodePond
@TodePond 2 жыл бұрын
Thank you! I hope you enjoy your stay! 🐸💫
@eboatwright_
@eboatwright_ 2 жыл бұрын
@@TodePond :D
@MrMattWelcome
@MrMattWelcome 2 жыл бұрын
Very cool, might be nice to slightly randomise the grain colours ?
@TodePond
@TodePond 2 жыл бұрын
Thank you very much! Yes that would look good. Max Bittker's sandspiel.club does that and it looks great!
@flameofthephoenix8395
@flameofthephoenix8395 Жыл бұрын
@@TodePond It would also be fairly easy, since you're using transparency to draw the pixels, you could initially draw them with the variation of color, then since all you're doing is changing transparency, the computer wouldn't have to do any more work.
@LineOfThy
@LineOfThy Жыл бұрын
@@flameofthephoenix8395issue is you want individual grains to maintain the same color
@flameofthephoenix8395
@flameofthephoenix8395 Жыл бұрын
@@LineOfThy That's true, but people won't notice maybe.
@flameofthephoenix8395
@flameofthephoenix8395 Жыл бұрын
@@LineOfThy I mostly suggested it as a way to do it without adding more lag on.
@WEGETTINOUTACHURCHWITHTHISONE
@WEGETTINOUTACHURCHWITHTHISONE Жыл бұрын
OoooOOoOoOooOOooOoOo BIG sand
@cube_20
@cube_20 11 ай бұрын
the pharaohs curse
@sofia.eris.bauhaus
@sofia.eris.bauhaus 2 жыл бұрын
imagine: the worlds biggest sand 😳! (love your work, if i haven't said so already)
@TodePond
@TodePond 2 жыл бұрын
IMAGINE 🤩 And thank you very much! I'm pleased to hear that!
@biquinary
@biquinary 2 ай бұрын
so fun
@Dysiode
@Dysiode 2 жыл бұрын
What are the memory implications of Neighbor Sand? Computers are always a trade off between compute time and memory, and for something like this it doesn't seem -too- bad, but once you're talking megapixels if you're even just storing three neighbors that could grow quite quickly as you scale it, to 8 in 2D and 26 in 3D. I'm not sure how large a C pointer is though
@TodePond
@TodePond 2 жыл бұрын
With the neighbourhood thing, I find that speed issues appear much sooner than memory issues (in the year 2022 at least). I use it in SandPond, which is 3D with 61 neighbours, and that's done in javascript.
@PunmasterSTP
@PunmasterSTP Жыл бұрын
This video was sandy and…todeacious! 🐸👍
@TodePond
@TodePond Жыл бұрын
Thank you! I do try to get sand and todes into most my videos! ⌛🐸
@PunmasterSTP
@PunmasterSTP Жыл бұрын
@@TodePond Todelly!
@loss_
@loss_ Жыл бұрын
The definition of overengineer! Very Impressive!
@qwertasd7
@qwertasd7 Жыл бұрын
You could also use rasters of 20x20 pixels a rasters gets enables if a new sand particle enters and gets disabled from the calculation if it is 100% full Then the next step...particle water!!!!
@crowgrabber_former_er5bb8yb2t
@crowgrabber_former_er5bb8yb2t Жыл бұрын
7:17 behold a M A N
@pixelolson6744
@pixelolson6744 Жыл бұрын
:o You have the same graphics card as me
@kim15742
@kim15742 Жыл бұрын
Very nice. What about writing the whole thing in a fragment shader? That would not allow you to connect devices remotely but would completely eliminate transfer over PCIe
@TodePond
@TodePond Жыл бұрын
I did that with GPU Sand :) it did allow me to connect remotely too (the middle screen was done with a fragment shader)
@kim15742
@kim15742 Жыл бұрын
@@TodePond Ah, very cool
@termisher5676
@termisher5676 Жыл бұрын
What about cpu and gpu working together?
@raphaelfrey9061
@raphaelfrey9061 Жыл бұрын
I had a genius idea of an encryption/decryption program using cell simulations, where the message turns into a pattern of cells that gets turned into the decrypted message using rules as the key. This key is just publically encrypted. Also, the downside is that the rules can't have a probability, so they have to happen 100 %.
@AlbySilly
@AlbySilly Жыл бұрын
That reminds me of the rule 30 cellular automation, I don't really know how to explain it but it has a wiki page
@raphaelfrey9061
@raphaelfrey9061 Жыл бұрын
@@AlbySilly yeah, like simple input, simple rules, complex output.
@Amonimus
@Amonimus 4 ай бұрын
Some of these answer some of my questions when it comes to general graphical programming. A game is slow? Well duh, it needs to caluclate every object relative to all objects then caliclate the position and value of every pixel. So, optimize.
@StarContract
@StarContract 25 күн бұрын
Bruh you're insane
@deleted_handle
@deleted_handle 2 жыл бұрын
WTF... I thought It would take longer to simulate the universe
@lomo4506
@lomo4506 Жыл бұрын
To get even bigger we use Real Sand!
@ailaanexplores2933
@ailaanexplores2933 Жыл бұрын
What is the starting song
@sikerow3180
@sikerow3180 3 жыл бұрын
Can some of these things be applied to your 3d engine
@TodePond
@TodePond 3 жыл бұрын
Yes, I am hoping so! I currently use some of these in my 3D engine. I do the alpha trick and instancing, and I do the neighbour trick. I also transpile element code into slightly-optimised javascript (which sometimes helps a tiny bit). I'm hoping to totally rewrite it with some of the new stuff I've learned though :)
@sikerow3180
@sikerow3180 3 жыл бұрын
@@TodePond awesome to hear
@TannerJ07
@TannerJ07 4 ай бұрын
How did you get the function times?
@TodePond
@TodePond 3 ай бұрын
the console and 'performance' tab in any browser
@TannerJ07
@TannerJ07 3 ай бұрын
Wow I never noticed this, that's so useful!
@quincyames2014
@quincyames2014 Жыл бұрын
why say sleeping is bad is that just for example or a principle?
@TodePond
@TodePond Жыл бұрын
sleeping helps with scenarios where there's a lot of sand sitting still. it doesn't help for simulations where a lot is moving at once. the latter is more interesting, so we can sleeping so we're not tempting to go for the former
@ZealanTanner
@ZealanTanner Жыл бұрын
Have you considered going to a beach and using REAL sand? I'd assume that's the best you could do
@TodePond
@TodePond Жыл бұрын
I'm currently working on a "Top 99 ways to make Sand" video. it won't be the next one - it's the one after that. and it's gonna have some wacky sands in it
@ZealanTanner
@ZealanTanner Жыл бұрын
@@TodePond epic
@pigizoid9924
@pigizoid9924 Жыл бұрын
noita
@TodePond
@TodePond Жыл бұрын
noita? 👀 kzfaq.info/get/bejne/rZlko6Soptm0pZs.html
@pigizoid9924
@pigizoid9924 Жыл бұрын
@@TodePond that game gets insane once you realise multidimesional travel is possible a.k.a the world size is infinitely massive
@dimitrisgkofas7787
@dimitrisgkofas7787 2 күн бұрын
I will give you code in gpu to run it in your integrated gpu with dims 5000X5000
@TodePond
@TodePond 2 күн бұрын
you're all talk
@davawen9938
@davawen9938 3 жыл бұрын
ah, yes, overengineering
@TodePond
@TodePond 3 жыл бұрын
🐸🔧 guilty as charged
@jasonwhite2028
@jasonwhite2028 Жыл бұрын
One day a future A.I. will use use a bunch of people to calculate and remember where 1.3million pixels are on a screen.
@jiegao3591
@jiegao3591 Жыл бұрын
what a strange coincidence, I'm developing a pixel simulator (it's called Red Pixel Simulator and good luck finding it on google) and I found the same first few draw optimizations, unfortunately everything beyond changing the image data directly doesn't work because there's 284 different pixels and lots of them have textures and animations and update orders (because it has to be a deterministic simulation or people's contraptions will break) but this is very impressive I'm subscribing oh wait I'm already subscribed
🌀 Top 9 Ways To Make Time Travel
10:00
TodePond
Рет қаралды 43 М.
🧳 Tourism
12:53
TodePond
Рет қаралды 16 М.
Son ❤️ #shorts by Leisi Show
00:41
Leisi Show
Рет қаралды 9 МЛН
ОБЯЗАТЕЛЬНО СОВЕРШАЙТЕ ДОБРО!❤❤❤
00:45
Smart Sigma Kid #funny #sigma #memes
00:26
CRAZY GREAPA
Рет қаралды 12 МЛН
НЫСАНА КОНЦЕРТ 2024
2:26:34
Нысана театры
Рет қаралды 1,6 МЛН
🐸 Alphabet
5:51
TodePond
Рет қаралды 13 М.
🤖 Nothing
10:19
TodePond
Рет қаралды 33 М.
Building and riding increasingly small bikes
18:01
Stuff Made Here
Рет қаралды 376 М.
🍎 Top 9 Ways To Make Gravity
6:57
TodePond
Рет қаралды 16 М.
✨ NEW Cellular Automata
12:28
TodePond
Рет қаралды 117 М.
Making a difficult game about fitting in - Acerola Jam 0
19:17
jess::codes
Рет қаралды 327 М.
What Is The Most Complicated Lock Pattern?
27:29
Dr. Zye
Рет қаралды 1,5 МЛН
🚩 Tourism 2: Off-Road
9:52
TodePond
Рет қаралды 11 М.
Новые iPhone 16 и 16 Pro Max
0:42
Romancev768
Рет қаралды 2,5 МЛН
Как удвоить напряжение? #электроника #умножитель
1:00
Hi Dev! – Электроника
Рет қаралды 1,2 МЛН
low battery 🪫
0:10
dednahype
Рет қаралды 1,8 МЛН