I Played DOOM Using Only Spinda Patterns

  Переглядів 193,675

adef

adef

18 днів тому

support me on patreon: / adefgames
jakob's website: jrmh.me/
the spindafy github page: github.com/Ovidios/spindafy
#pokemon #science #doom

КОМЕНТАРІ: 959
@ludibroloplays
@ludibroloplays 16 днів тому
Based on the title, I thought this was gonna be something like each spinda pattern corresponding with a string of numbers to turn into inputs to eventually beat a level of doom using the right series of spindas. Needless to say I was incorrect in the best way possible.
@bybeezguepe6557
@bybeezguepe6557 16 днів тому
I thought the exact same thing
@awogbob
@awogbob 16 днів тому
No you have your sequel video adef
@kyucumbear
@kyucumbear 15 днів тому
What if we did both? Use Spinda patterns to for inputs, visualized next to a screen of Spindas that run Doom!
@mid-boss6461
@mid-boss6461 15 днів тому
Actually it would be rather simple, that's just a TA(S?) with extra steps
@UselessBot
@UselessBot 15 днів тому
I thought it would be this too
@orions2908
@orions2908 15 днів тому
Just letting you know, the touhou fanbase isn't exactly sane. There was a 50% chance they might have picked each frame by hand. You got lucky.
@ModifiedLamborghiniSpongeBob
@ModifiedLamborghiniSpongeBob 12 днів тому
What the flippers is a touhou?
@Chaos_frozen
@Chaos_frozen 12 днів тому
Bullet hell
@oliverniemann2541
@oliverniemann2541 12 днів тому
​@@ModifiedLamborghiniSpongeBobthe game series that the bad apple animation is from. Bad apple is on everything like doom
@ListersHatsune
@ListersHatsune 11 днів тому
"You can't let yourself be held back by common sense in Gensokyo" - Sanae Kochiya, Touhou Subterranean Animism
@ModifiedLamborghiniSpongeBob
@ModifiedLamborghiniSpongeBob 11 днів тому
@@oliverniemann2541 ok mog btw what type of cheese do you like?
@alejoclosa7705
@alejoclosa7705 15 днів тому
Doom minimun requirements: _Have a screen(optional) _Have a CPU(optional) _Human player(optional, someone teached a rat how to play) _Being real(also optional, apparently)
@gh0ul2559
@gh0ul2559 13 днів тому
Doom minimal requirements: Optional Hotel: Trivago
@Batvengence66
@Batvengence66 13 днів тому
Doom minimum requirements: Doom
@megandavis3372
@megandavis3372 13 днів тому
what does - "_Being real(also optional, apparently)" mean?
@mohawkmaster5728
@mohawkmaster5728 12 днів тому
​@@megandavis3372 spinda aren't real
@jellifygirl
@jellifygirl 12 днів тому
​@@mohawkmaster5728 **sniffle** don't... don't say that...
@SuperfieldCrUn
@SuperfieldCrUn 16 днів тому
"Bad Apple" is the non-interactive equivalent of "Can it run Doom?" It's a music video based on the Touhou video game series, and it is entirely black-and-white. Which means that any kind of display or visualization that can distinguish between two colors (which is to say, all of them) can be used to display Bad Apple. The Touhou community recreated Bad Apple in r/place - just random people placing pixels onto a communal grid recreated the music video with a shocking amount of accuracy once the replay was sped up.
@Dingus_Khaan
@Dingus_Khaan 15 днів тому
And Megalovania is the audio equivalent.
@mimisezlol
@mimisezlol 15 днів тому
The r/place bad apple image was actually coordinated by a discord and was carefully planned
@freshlymemed5680
@freshlymemed5680 14 днів тому
​@@Dingus_Khaanthat would be the lick.
@freshlymemed5680
@freshlymemed5680 14 днів тому
Its not random people. Its all coordinated. Any and all images on r/place was coordinated or it wouldve been utter chaos (probably why Canada couldnt draw a leaf)
@emi9643
@emi9643 13 днів тому
​@@mimisezlolspecifically the osuplace and touhou place discords. I was actually the person who did a large amount of the manual cleanup of the animation frames (after running it through downscaling tools) Devs from osuplace developed the overlay scripts that we used to automatically display which frame we were on so real humans could see what needed to be placed and when. It was over 6000 frames, resolution was 40x30px and framerate was something like 40seconds per frame for over 3 days straight
@n1njaman773
@n1njaman773 16 днів тому
The best way to play doom, when it takes literal weeks to play 10 seconds.
@Kektus1
@Kektus1 15 днів тому
Turning Doom into a play-by-email game
@destroyer4929
@destroyer4929 15 днів тому
It's like old chess games when people would mail their moves to eachother
@sax0cat
@sax0cat 15 днів тому
Someone made doom on a gut bacteria and it takes like a day to render each frame iirc Edit: only takes 9 hours apparently
@jellycore1316
@jellycore1316 15 днів тому
​@@sax0catOh my GOD XD
@manutosis598
@manutosis598 13 днів тому
​@@sax0catsir, you've been diagnosed with doom.
@joshnoble07
@joshnoble07 16 днів тому
saying the words "Please enjoy" before showing me one of the most nightmarish creations to have ever existed. it's almost cruel
@owenbridgers
@owenbridgers 15 днів тому
I felt like I was thrown into a vortex when it started playing, an assault on the senses
@Malao558
@Malao558 16 днів тому
Missed opportunity at 5:40 to refer to it as a “spin-database”
@Apollo-._
@Apollo-._ 11 днів тому
Spinda-tabase
@Glory2Snowstar
@Glory2Snowstar 16 днів тому
I wonder how Spinda's designer would feel about this. All of the chaos that this simple spot algorithm unleashed on something with a 360 BST.
@y2k.channel
@y2k.channel 13 днів тому
vladimir pokemondesigner wpuld be proud
@Wizardrex562
@Wizardrex562 12 днів тому
​@@y2k.channelI KNOW THE REFERENCE WHAT THE FUCK?????????
@zacharywooden2113
@zacharywooden2113 6 днів тому
@@y2k.channel is panda. is spinny. are you a jokester?
@aprinnyonbreak1290
@aprinnyonbreak1290 11 годин тому
You think this is bad, Spinda has effectively made the personality value system a black box of pokemon's code. In theory, you could rip a pokemon out of the current personality value system and into a new one that kept certain traits instact. Except Spinda, who says actually you can't
@velvetbutterfly
@velvetbutterfly 16 днів тому
Doom and Bad Apple are both rules of the internet, they go hand in hand. If it has a screen; it can play doom If it can exist in at least two states, it can play bad apple. Bad Apple is a boss theme from TouHou and got a remix on a CD that was released some time after the game it was featured it came out. This remix got used in a 3D animated music video that was quite ahead of its time for an indie animator making in his free time. And since that video took the internet by storm, a lot of people sought to recreated it on whatever they could. Including Minecraft Sheep, Rubik's Cubes, Super Mario 64, RGB keyboards, and many many more.
@appleando752
@appleando752 15 днів тому
Light correction, but the original Bad Apple is a stage theme for Touhou 4: Lotus Land Story. Not a boss theme.
@ammagon4519
@ammagon4519 15 днів тому
I have to bring up GTA San Andreas as well. Any game as long as it can be modded will eventually have at least the main character replaced by CJ at some point lmao.
@omegaotaku1342
@omegaotaku1342 15 днів тому
Calls it a boss theme instead of a stage theme. I looked at the comments to see this man get corrected about the anime statement only to see that apparently the comments can't get it quite right either.
@ammagon4519
@ammagon4519 15 днів тому
@@omegaotaku1342 don't mess with us toohoe fans We never played the games
@internetlurker1850
@internetlurker1850 15 днів тому
You have summoned the horde (I LOVE OLD AND VIOLENT WOMEN!!)
@LetTheInferno
@LetTheInferno 16 днів тому
"Spinda of best fit" was not something I thought I would hear today, but I'm here for it!
@carsonic_
@carsonic_ 15 днів тому
me neither with "spindification genetic algorithm" LOL
@abtinbarzin8369
@abtinbarzin8369 16 днів тому
This "optional homework" challenge reminds me so much of this video from a channel called Stand-up Maths. Basically, he tried to find the perfect set of five five-letter words to use for Wordle, all of which had unique letters from each other. His proof-of-concept code took 32 days to run... and after submitting the idea to his viewer base, they got it down to less than 3.5 milliseconds. Have fun, Mr. adef :)
@straphyr
@straphyr 16 днів тому
Left as an exercise to the reader. A great way to get people to do work that's ultimately not that important, but often very challenging and fun
@PopeGoliath
@PopeGoliath 16 днів тому
I went right there, too. And audibly groaned when the genetic algorithm was wheeled out. The guaranteed way to eat up compute when you don't wanna solve the underlying puzzle.
@rompevuevitos222
@rompevuevitos222 16 днів тому
Programming and math are 2 different skill sets. You could program something with literally no math knowledge if you wanted.
@samroberts7404
@samroberts7404 15 днів тому
​@@rompevuevitos222 or as Matt parker often proves, you can badly program something with a shit load of maths knowledge...
@DogsRNice
@DogsRNice 14 днів тому
@@rompevuevitos222I have dyscalcula and I'm currently learning programming It's nice to make something do the math for me
@eliasstenbak5689
@eliasstenbak5689 16 днів тому
Now I will play doom on a cell wall
@-handlenotavailable
@-handlenotavailable 16 днів тому
Play Doom on a hydrogen atom
@Aaa-vp6ug
@Aaa-vp6ug 15 днів тому
@@-handlenotavailableyou could probably play it on a cluster of them
@Kirbix-official
@Kirbix-official 14 днів тому
how about the mitochondria, powerhouse of the cell?
@eliasstenbak5689
@eliasstenbak5689 13 днів тому
@@Kirbix-official not as good
@DinnerForkTongue
@DinnerForkTongue 12 днів тому
But can it run Kenosis?
@MereleFerele
@MereleFerele 15 днів тому
When you asked if I had a favourite Spinda pattern I, like a normal person of course, thought "why yes, it's the one where the dots cover its eyes" SO IMAGINE MY SURPRISE
@sveinmagnus2950
@sveinmagnus2950 16 днів тому
Using a genetic algorithm to solve this problem is wild and almost certainly something Jakob did as a learning exercise. A realtime Spinda matrix screen (never thought I'd write that in my life but here we are) is definitely possible using image masking and bit manipulation, since the x and y coordinates of the dots are made by splitting the 32bit PID into four 8bit numbers. I might take a stab at this myself. Thank you for another incredible video on a topic I would never expect
@jabelsjabels
@jabelsjabels 16 днів тому
Another easy optimization win would be only running whatever search algorithm on grid cells that contain both white and black. The totally white and totally black cells have fixed patterns. Could also run a dilate filter first to get rid of noise.
@irregularassassin6380
@irregularassassin6380 15 днів тому
@@jabelsjabels Exactly, the ceiling in the Doom video was displayed by identical spindas throughout pretty much the entire video. That should save a lot of work. Any spindxel displaying a value darker than X or brighter than Y should automatically display a set spinda pattern. So, what you said, but interpreted by a layman.
@monkeeboy830
@monkeeboy830 15 днів тому
@@jabelsjabels thats what i was thinking
@LightTheMars
@LightTheMars 14 днів тому
Using a compiled language instead of Python would also speed it up hundredfold. With that and a better algorithm it should take a couple milliseconds at most. This is a nice proof of concept though.
@IndieLambda
@IndieLambda 12 днів тому
Think you could introduce Shiny Spindas?
@turndownforwalt
@turndownforwalt 16 днів тому
Congrats on pregananant
@ahorseofcourse7283
@ahorseofcourse7283 14 днів тому
Preganté
@dylanodonnell-weatherup680
@dylanodonnell-weatherup680 13 днів тому
​@@ahorseofcourse7283 gregnant?
@ahorseofcourse7283
@ahorseofcourse7283 12 днів тому
@@dylanodonnell-weatherup680 Pragent!
@chrisharl
@chrisharl 12 днів тому
Pageant?
@worldwidewakatoshi7247
@worldwidewakatoshi7247 16 днів тому
perfect timing, I was JUST telling someone about my personal favourite way I've seen someone play DOOM (on gut bacteria)!
@jokerofspades-xt3bs
@jokerofspades-xt3bs 16 днів тому
My favorite was when my friend got it running on a car dashboard
@rygk9696
@rygk9696 13 днів тому
I loved it when one of my colleagues got it running on a U.S military satellite.
@OMGItsJousis
@OMGItsJousis 15 днів тому
I'll propose an algorithm that would be much faster. The reason the algorithm takes so long is because you actually care about tracking the PID of the Spinda, which leads you to generating a random Spinda and checking its fit. You ended up using enough Spinda faces to consider them "pixels" on a screen anyway, so you can skip all of that computation by just deciding where, within the possible bounds of each Spinda, you should draw the 4 dots, and then place them there, without bothering to know what the PID that would produce that Spinda is. For example, you could take the black-and-white frame of DOOM, divide it into a sub-image for each Spinda, then divide each sub image into the 4 bounded squares that each dot can occur, and simply find the center of the "red" pixels, and place the dot centered there. The computational complexity of rendering a 40x30 Spinda image would therefore be 4800 times the complexity of whatever algorithm you use to determine the location of the dot. A simple center-of-mass algorithm is O(n) with respect to the number of pixels, so that works out to being O(n) with respect to the total number of pixels in the original image. A rendering algorithm that is O(n) with respect to the number of pixels on the screen is actually insanely fast for a video game. You should reach real-time rendering speed with no issues. You might even have enough computation left to reverse-engineer the PID of each Spinda you just rendered, if you really want to.
@argonwheatbelly637
@argonwheatbelly637 15 днів тому
Prebaked. Nice touch.
@nzeu725
@nzeu725 15 днів тому
interesting
@BanD1t8
@BanD1t8 14 днів тому
Since PIDs for Spinda face are literally the coordinates of the dots, then reverse-engineering is just displaying the coordinates you got as hex, taking pretty much no computing power.
@OMGItsJousis
@OMGItsJousis 14 днів тому
@@BanD1t8 In that case, the algorithm would be just find the center of mass of each of the 4 sub-images, and from there you know the PID, so generate that Spinda.
@alicewonder259
@alicewonder259 12 днів тому
OH THIS IS FANTASTIC
@BlueWokou
@BlueWokou 16 днів тому
Don't mess with Touhou fans, all of us are insane in at least one fashion. More seriously, this is super cool!
@straphyr
@straphyr 16 днів тому
I was very ready for him to say Spinda Bad Apple was made by an insane person by hand. It just isn't out of the question with the community around it
@internetlurker1850
@internetlurker1850 15 днів тому
And also neurodivergent.
@samuelturner6076
@samuelturner6076 16 днів тому
This is insane, you and Jakob are legends for this. Now we just need a billonare with a supercomputer gaming laptop to do it in real-time.
@DoctorSwellman
@DoctorSwellman 16 днів тому
RIP adef's power bill. Here's to a real one carrying the weight of the world on their back (also really really cool video)
@cambot1922
@cambot1922 16 днів тому
I can't speak to actually rendering doom on spinda's face but I've been thinking about how we could encode the source code of doom on spinda. If all a spinda face does is encode a 32 bit unsigned integer we can turn those 32 bits back into a store of other information. According to a quick google search the original doom is about 2.39 megabytes or 2,390,000 bytes. As notes spinda encodes 32 bits which is 4 bytes so quick division suggests that one could store all the information in doom on 597,500 which is a totally reasonable number of spinda. I wonder what it would take to catch a Doom's worth of spinda. With some RNG manip and a server farm's worth of gameboys could you catch these spinda and store spinda in the boxes of some copies of sapphire? Bulbapedia tells me that one copy of saphire can store 420 pokemon in the PC ( plus 6 in the party I imagine) so with a very reasonable 1403 gameboys you could encode all of Doom's source code on spinda, ordered within your boxes and parties. Now actually catching them would be an insane challenge in its own right but should be atleast theoretically possible. But I wonder how long it would take. This was a fun video and the genetic algo is really cool, thanks for fun spinda thought experiments adef!
@hobo1rutur
@hobo1rutur 15 днів тому
I believe you can add 2 Spinda to the Day care in addition to the 426 in boxes/the party, taking us down to a much more manageable 1397 copies of Sapphire. The save file also stores the last 50 teams* you beat the Champion with in the Hall of Fame option on the PC, allowing for up to 50x6 = 300 extra Spinda per cartridge for a total of 728, assuming you don't mind those 300 being released after entering the Hall of Fame to catch new ones (And beating the E4 + Champion 50 times with nothing but Spinda, of course). This takes us down to 821 copies of Sapphire, which is essentially just one copy and a few spares. *The HOF doesn't store all info on each Pokemon, but it does store the PID, which is all we need for this concept.
@ddrchad
@ddrchad 16 днів тому
spinDOOM
@xaf15001
@xaf15001 15 днів тому
Bad Apple 🤜🤛 Doom Having surprisingly similiar overlap of maniacs running them on things you're not supposed to run them on
@The0Stroy
@The0Stroy 15 днів тому
Bad Apple started as a meme but is now the go-to animation for testing any black-and-white display method.
@yukko_parra
@yukko_parra 13 днів тому
or apparently, fluid simulations too?
@dawk7
@dawk7 15 днів тому
>"A meme... about, anime?" Ah, so you've chosen death by pissed-off videogame fandom.
@neiltarrant7253
@neiltarrant7253 16 днів тому
For anyone who wants to optimise, I think we could reduce the phase-space of Spinda patterns significantly. For a start it seems to be that although there are 4 billions unique personality values, it looks like there aren’t 4 billion unique designs. Sometimes one of the dots is entirely off the face of Spinda so won’t affect the pattern. I’d say, 10% of the time the top left dot is off Spinda‘s face, all of those patterns can be collapsed into one since they aren’t visually distinct. Similarly, overlapping dots may cause patterns to look identical. But by far the easiest would be to accept a lower resolution of dot placement. If you allow each hex digit to take only even values, you’ve halved the resolution at which you can place dots, but reduced the number of distinct values to consider to only 16.8m from 4b In fact, I reckon you could probably precompose around 256 different patterns showing a different density and pattern and you’d get a result comparable to the footage, but available muvh quicker.
@brutusthebear9050
@brutusthebear9050 16 днів тому
Adding to this, a genetic algorithm is 100% unnecessary for this. I'm fairly sure simple modeling would be possible here.
@Ultimaximus
@Ultimaximus 16 днів тому
I've never seen any youtube video talking about Spinda that actually incorporates how lots of Spinda patterns are identical due to the spot not being on the face
@Cyfrik
@Cyfrik 15 днів тому
Might even be possible to narrow it down so each spindxel only has 10 options: Completely beige. "Completely" red. Red dots located on only one of the sides. (Up, left, down, right.) Red dots covering a diagonal half. (UL, UR, DL, DR.) Should only be slightly less readable than the result in the video, but much faster to process.
@makeshift27015
@makeshift27015 15 днів тому
Considering that the hexadecimal represents coordinates, I feel like it would be more efficient to just rank the most important pixels within spinda's face's bounding box (based on brightness probably?) then convert that into coords, which can be directly converted into spinda hex.
@kit6024
@kit6024 13 днів тому
Super cool and savvy thoughts. Some comments suggest narrowing down this number even further, though personally, I feel like it's in the spirit of Spinda to try and have as many different visual variants as possible. You're correct though that there's no need to replicate visually identical results. I don't really know my stuff, but with the above informaiton, would it be more or less crunchy for the system to 'preload' what Spinda pattern corresponds to a given possible configuration of pixels? Assuming the Doom footage already needs to be converted to black and white, and Spinda are already representing a small part of the screen (say, 64x64 pixels each), well - 64 x 64 is 4096, a fairly manageable number of different possibilities. Would it be more efficient to create a program which could pre-calculate which Spinda best fits each possible 64x64 pixel possibility, then use the results of that to perform a simple substitution for the Doom game itself?
@jcnot9712
@jcnot9712 16 днів тому
The results were kind of a disaster, but the video’s so well put together that I learned a fair amount about programming and had a good refresher on hexadecimal values from college. Great video!
@samk-j6735
@samk-j6735 16 днів тому
I mean this in the highest praise possible: You are the BDG's Unraveled of Pokemon.
@ItsGBMoD
@ItsGBMoD 14 днів тому
there is NO way that after hearing about spinda for the first time ever i managed to not only imagine what a cute pattern would look like but also to HAVE THAT PATTERN BE YOUR FAVOURITE TOO. i just thought about pandas having dots on their eyes and then the symmetry about the two extra dots on their ears
@SillyLilFella
@SillyLilFella 16 днів тому
Naturally, the next step is to play Pokémon Sapphire on a Spinda and beat the game with Spinda
@ANDORRA195
@ANDORRA195 11 днів тому
Spindaception
@qwerty11111122
@qwerty11111122 10 днів тому
Dope
@megamillion5852
@megamillion5852 15 днів тому
This video is my introduction to your channel, and I just want to thank you from the bottom of my heart for being one of the rare few to pronounce "pokémon" correctly.
@anakruger2412
@anakruger2412 16 днів тому
This is such a cool video!!! Incredible work from both you and Jakob
@manvslife271
@manvslife271 15 днів тому
I feel like using a genetic algorithm to turn each frame of gameplay into a spinda grid image isnt really a good idea. A spinda's face already encodes a x and y value for each one of its quadrants so you can probably make it act like a dot matrix display instead, so wouldnt a better idea would be to take the display data used to draw the frame instead of the image itself, and use some sort of transformation program to turn it into something that can be shown with the spinda display instead.
@Sarah04527
@Sarah04527 15 днів тому
Love your editing style! Also the final product was so cursed, but glad you accomplished it!
@skippy3463
@skippy3463 9 днів тому
kudos to you both! that ten second clip is insane, especially seeing how difficult the process was!
@yaredcox
@yaredcox 16 днів тому
This video feels like it came out in 2011 and I mean that in the best and most flattering way possible. It's weirdly nostalgic in a way I can't explain.
@Stormkyleis
@Stormkyleis 16 днів тому
Fantastic video. You know what would make it even better? If I could watch it on a mosaic of Spinda.
@daltonthegamer9302
@daltonthegamer9302 14 днів тому
Adef, you are criminally underrated. The amount of work you put into all of your videos is insane, and I love every second of it.
@justas423
@justas423 13 днів тому
I like how expressive you are! Good Spinda Content!
@gaminggaming6180
@gaminggaming6180 11 днів тому
Idk if this has already been implemented, but I feel like it would reduce computation time by a lot if you had a set spinda for an “all white” or “all black” pixel and automatically used those for sections that are like 90% one color.
@qwerty11111122
@qwerty11111122 10 днів тому
Tbh, you could make an equivalent to ascii art. Pick 16 spinda of gradient spottedness and use them as 16-bit monochrome pixels
@yalkn2073
@yalkn2073 15 днів тому
Good lord, an evolutionary algorithm for picking out for individual spots in a mosaic pattern?! No wonder it took dozens of hours of computational time
@eternalinfernos
@eternalinfernos 15 днів тому
clay, as a software engineer, this video was both terrifying and breathtaking to watch! amazing work!!!
@LRXC1
@LRXC1 14 днів тому
Okay I’m back this video gave me SUCH a new appreciation for Spinda. Amazing and UNIQUE stuff as always man! Keep it up 😎
@MStrong95
@MStrong95 16 днів тому
The real question is how long until Keizaron decides to play this version of Doom or maybe like Pokemon Red or Blue with the spinda tile display? Also I'm not a programmer myself, but, conceptually I would probably switch from genetic algorithms to some sort of AI that's pre-trained to minimize the visual loss function for the assigned pixels that a given spinda is supposed to replicate in the mosaic grid array. Maybe this would speed up the frame render times?
@youmukonpaku3168
@youmukonpaku3168 16 днів тому
the suggestion has been made elsewhere that it's probably best to start precomposing a certain number of shades of spinda (say, 256, to work with 256 shade black and white) and just assigning them to matrix regions based on luminance instead of doing a genetic algorithm. Attempting to use any kind of AI here is really just a way to make the computer optimise itself with the task already being done, rather than a fundamentally different approach.
@justanotheryoutubewatcher5330
@justanotheryoutubewatcher5330 16 днів тому
I've never been this early to a man losing his mind before, nice.
@taste5728
@taste5728 11 днів тому
if you let an infinite numbers of Spindas roam in an infinite room at random an infinite amount of times, eventually the spindas will form the entire walkthrough of Doom.
@thicccboimichaeljohnson6497
@thicccboimichaeljohnson6497 16 днів тому
Since you know how any given spinda pattern is generated and that consecutive spinda are nearly identical, you could write a much faster search tree.
@leilalsw
@leilalsw 13 днів тому
Your videos are always so fascinating and neato! Never would have guessed to see Doom on a Spinda today but it was totally impressive!
@soulfulfakealligator
@soulfulfakealligator 16 днів тому
Aw yeah, I've been waiting for this one
@Kosmicd12
@Kosmicd12 16 днів тому
adef that's crazy
@tswan137
@tswan137 16 днів тому
This is one of the coolest things I've seen. What an amazing idea, dude.
@veroleshtheinsane6556
@veroleshtheinsane6556 15 днів тому
Not what I expected the video to be about after I saw your initial post, but I'm here for it. That's epic.
@colewatts7599
@colewatts7599 16 днів тому
Babe wake up, new adef video dropped
@parkenharbor
@parkenharbor 16 днів тому
Babe wake up new adef video
@dittod2816
@dittod2816 12 днів тому
You’re absolutely giving MatPat vibes, man. I love it I hope I get to see you get huge and cover a billion different things instead of just Pokemon
@Dancingonthesun
@Dancingonthesun 15 днів тому
Your videos are always gold, adef. This was a surprising one! You deserve so many more views
@caddymcbutcheryt6733
@caddymcbutcheryt6733 14 днів тому
use shinys for more colour depth
@rickingangel
@rickingangel 16 днів тому
I'm only 3 minutes in and I've audibly laughed 3 times. This is hands down THE best channel on the platform. Everything from the scripting to the editing to the comedy to the whole subject is always a 10/10 on every adef video. This was well worth canceling lunch with my mom over.
@Wack..
@Wack.. 16 днів тому
Another great video Adef, love em and I cant wait for the next one!
@agnacore
@agnacore 14 днів тому
oh, I loved this. not only was the premise intriguing, and the result immensely satisfying, the presentation was masterful. all adjectives aside, I adore your vibes -- easy sub.
@freshfilmproducts
@freshfilmproducts 13 днів тому
Well you animated a doom clip with spinda patterns, but you did not play doom only using spinda patterns. Clickbait title tbh. You would not say I played doom on a sausage if you made a stop motion animation of doom using only sausages
@SnakeJuice
@SnakeJuice 16 днів тому
Preggo
@RagingBigfat
@RagingBigfat 16 днів тому
Honestly love your content man it's fresh, interesting and funny
@KaceyTime
@KaceyTime 15 днів тому
wow! why did yall so this lmao this is very cool, excellent work both of ya. the mosaic turned out so so well.
@memnun5615
@memnun5615 10 днів тому
the first thought that comes to mind for optimization is hashing your spindas; basically, for each sub image, you first check if you've already seen it before (or even just something close enough if you build the hash right), and if so just use that spinda that you've already spent the time calculating. all the frames of sub images that are made up of solid chunks of pure white or pure black come to mind, and a hash search is definitely quicker than your genetic algorithm so it's worth the little overhead. loved the video!
@reapingsalvation7353
@reapingsalvation7353 13 днів тому
I’m so glad I found your videos. Don’t ever change.
@clodolcmidnights837
@clodolcmidnights837 13 днів тому
So you’re saying… SPINDA CAN RUN DOOM!
@BlueBoi_ThisTaken
@BlueBoi_ThisTaken 10 днів тому
This video is making me want to watch every video on the channel Edit: Congrats on 50k and hopes for more!
@Eli_Irwin
@Eli_Irwin 12 днів тому
Two classic memes of running/animating things on things that generally aren't used for that purpose fills me with joy. Never would I have thought there would be a connection between Bad Apple and Doom, but I could not be happier to be proven wrong.
@saisuapalli
@saisuapalli 16 днів тому
Amazing video! One thing i'd have done is to encode all pixels replaced by a single face to a int16 number (so 4x4 bits). Then, i'd map each number to a generated spinda if and only if it is not yet generated. That way, once you've found a pattern, you don't need to re-compute it Didn't you have a fitness function already
@kylenoel5056
@kylenoel5056 14 днів тому
Even for 2 days this is criminally underviewed. Well done both of you, and keep up the good content man
@crushermach3263
@crushermach3263 12 днів тому
One way to increase efficiency I can spot immediately is to just have a default on/off state for when that part of the image is sufficiently black/white. Skips the need for the genetic algorithm entirely. Take it a step further and further break down the spinda faces into the quadrants each dot has influence over and apply the above logic only running the algo for the spots that matter.
@undeadmatrix4
@undeadmatrix4 13 днів тому
Okay but everything else aside the intro hook for the video is absolutely incredible A+ well done
@jademonass2954
@jademonass2954 12 днів тому
the thing is: using a screen of some sort, no inputs, you play bad apple using a processor of some sort, with inputs, you play doom
@saisyuumaho
@saisyuumaho 9 днів тому
yeah this is definitely a display test and not a gameplay test, the video title is kinda misleading. I don't strictly think there's anything wrong with using doom footage as a display test, but the title should really be "I displayed DOOM using only spinda patterns" or something
@Spifyninja
@Spifyninja 16 днів тому
Another video I didn't know I needed until I saw it. Good work.
@StrikerTheHedgefox
@StrikerTheHedgefox 16 днів тому
Reverse engineering the spinda code, that determines where each dot goes, would be far more efficient than a genetic algorithm. Since there are 4 dots, and there are 4 bytes to a 32-bit value, at 8 bits per byte, my guess is that every byte of the value is an x/y coordinate split into 4 bits for each component with a range of 0-63, and could be masked out with an AND operation and some bitshifting, in a similar fashion to how you extract each color component out of an RGB hex value. If you can read/write those values, getting a game pixel and plotting the spinda dots accordingly becomes much easier.
@the_furf_of_july4652
@the_furf_of_july4652 13 днів тому
Honestly this is how I feel a lot of the time when it comes to my “projects”, where I end up requesting so much help from others that it might as well not be my work at all. But, something to keep in mind is that without your desire, without your requesting, it still wouldn’t exist, so that has to count for something.
@Simon-oj3bf
@Simon-oj3bf 12 днів тому
lmao i cant believe my "can it run doom tho?" comment appeared on this, i totally forgot about the spinda animation thingy anyways, really nice video, didnt think it would be possible but here we are
@JayFolipurba
@JayFolipurba 13 днів тому
You have a sitcom personality. But in the best way. Like it's actually entertaining to watch, but I probably wouldn't want to talk to you irl.
@owenbabcock1583
@owenbabcock1583 16 днів тому
You're possibly becoming my favourite UKpostsr... What a cool idea, story and delivery
@5hirtandtieler
@5hirtandtieler 16 днів тому
Love these types of insanity inducing projects! I have an idea for how to take this to another level…looks like my weekend plans are set…
@scrimblobimblo2639
@scrimblobimblo2639 7 днів тому
With this and Chatot's Chatter, it's theoretically possible to recreate any audiovisual piece of media on Gen IV Pokémon assets. Finally, the most unforgettable luncheon will return
@YOUTY209
@YOUTY209 13 днів тому
You missed an opportunity to use shiny spinda to replicate the terrible green of the original gameboy for an even more retro feel!
@CooperDooper38
@CooperDooper38 15 днів тому
So, technically speaking, you haven't played Doom on Spinda, you've just played the footage of Doom on Spinda. It's not like you're looking at the screen full of Spinda and playing it with that as a display.
@alicewonder259
@alicewonder259 12 днів тому
I was thinking machine learning was going to be the only possible way to get this to run in real-time. Instead of running this genetic algorithm on each sub-image on each frame, you could frontload the training time for a function that maps from a general sub-image to a specific spinda pattern. Then at render, each sub-image could be passed to this function, which could much more quickly produce a consistent output. It might not get quiet in real-time, but with a GPU with tensor cores, it's probably super doable in real-time. The hard part with this approach though is obtaining the training set data, a set of predetermined successful maps of sub-image to spinda pattern. with what y'all have done, you have basically created a data set! Not sure if it's big enough already but it might be! . Using the work y'all have done, but taking it as a data set for a machine learning algorithm would dramatically cut down performance costs and might make this possible in real-time! I might try if I get around to it, but I have other projects demanding my time rn :/ leaving this here in case you/Jakob/anyone wants to tackle it! Probably would be a pretty nice intro to a computer vision project :)
@Cyberdemon2006
@Cyberdemon2006 11 днів тому
Doom and Bad Apple have this special relationship as they have the shared goal of being played and displayed on every medium possible. Where Bad Apple goes, Doom is sure to follow closely behind.
@taybubby
@taybubby 16 днів тому
Your videos are always so wild I love it
@rorbee
@rorbee 11 днів тому
New Gen 10 spinda evo: Spindisplay Now instead of just 4 randomly located spots, you get a full 360p monitor with randomly lit pixels
@PenelopeStoneVT
@PenelopeStoneVT 16 днів тому
It's incredible what people can do with a bit of inspiration and collaboration :D
@hungryhedgehog4201
@hungryhedgehog4201 13 днів тому
it might be faster to generate all the patterns first and then search. To avoid having to search that entire list, you could create a smaller set of about 1% of the patterns with an even spread and then perform the first fitness test against that. Since we can assume that most patterns will be similar to their neighbors we can now search the patterns around our sample pattern for one with a better fit. Then you can also tweak the number of representative patterns, how many nearby patterns will be search and how many iterations. You could also use a neural net with all the patterns as a set and then the neural net can get an input pattern and basically guess the corresponding spinda.
@nodrance
@nodrance 15 днів тому
Optimization: Have a database of spinda that are likely to be used, like one that's as empty or full as you can make it, or ones with lines and slopes in different directions. You only need to worry about the part of spindas face not covered by another spinda. Then, just check all of the combinations you handpicked.
@FrostyFrostySnow
@FrostyFrostySnow 16 днів тому
This is pure insanity and I love it. Massive kudos to Jakob and yourself
@sufficientframe
@sufficientframe 15 днів тому
2:35 - Impostor Pikachu Spinda: dots sitting perfectly on the cheeks, and dots coloring the tips of the ears.
@flumpeldoo7064
@flumpeldoo7064 15 днів тому
Hey there, amazing work! I am not a programmer, but I think I have a solution to your project. If you increase the amount of spindas, but decrease the amount of spindas checked, you should be way faster. For example if you manually choose a spinda for a completely dark spot and hard code to use exactly this spinda every time for the most dark spots, you can skip a ton of generated but discarded spindas. If you repeat that for maximum white spots as well an for a few shades of grey, you just have to run your code for the edges between different shades. You could go one step further and preselect for 90 degree edges and some frequently used shades, but this could go against the core of the challenge because it would heavily decrease the amount of random spindas used.
@__8120
@__8120 15 днів тому
First obvious way to optimize that I thought of would be a rewrite in (well, something other than python, but specifically) CUDA, allowing each segment of the image to be processed by the GPU simultaneously rather than in sequence by the CPU. Welp I guess I know what I'm gonna be doing for the next week or so
@timo3828
@timo3828 15 днів тому
This was so cool! Could it perhaps be possible to run the GA on the frames in order, reusing the final population of a frame to initialize the population of the next frame? Assuming a frame changes little from the previous frame, this means the GA could converge to a good solution faster maybe
@Armin_Akoyim
@Armin_Akoyim 15 днів тому
Great idea, also still useful if you were to use a different method than GA
@WPPatriot
@WPPatriot 13 днів тому
This video made me learn a thing about myself. If someone represents the numbers 10 through 15 using lowercase letters, it makes me grimace like I just took a bite or a really sour lemon. Neat!
@BenjaminGlatt
@BenjaminGlatt 15 днів тому
Signed ints use the leftmost digit to determine if the number is positive (0) or negative (1). By using an unsigned integer, you double the number of values you can represent without allocating additional memory.
@Italian_Isaac_Clarke
@Italian_Isaac_Clarke 15 днів тому
I hope this may be useful: I am not a coder, but something which already solved a very similar problem is "image compression for computer files". Png, jpg, whatever save the image in a way which it can be read just and only if the image's data gets referenced with a library of saved sample images already inside the computer; if this library is not there, the image will not be readable. You could "compress" each quadrant of each frame of the gameplay by referring them to a "similar library of saved sample images" and then link each individual Spinda to each one of these images, because, at least in my intuitive opinion, running a compression program which is very similar to stuff used since the 70's to then translate this "saved library" into a "Spinda library" would be much more efficient than trying to directly translate every quadrant with a Spinda via Genetic Algorithm, since: 1) You already accept that it will NEVER be pixel-perfect, that's the point of doing this. 2) Compression via image library and then replacing those images with pre-set, good enough Spindas would require to, at best run the Genetic Algorithm just and only for the Library, so that later on each single frame gets compressed and each quadrant gets replaced by Spindas.
@Italian_Isaac_Clarke
@Italian_Isaac_Clarke 15 днів тому
Here are TWO videos which explain it: A) Compression: Crash Course Computer Science #21 B) How are Images Compressed? [46MB ↘↘ 4.07MB] JPEG In Depth I am NOT good at this stuff. I can understand how it works, the principles behind it, but I can NOT work with them (I was not born with that affinity), so my role in helping you with coding is limited.
@lazerpie101
@lazerpie101 14 днів тому
1 optimization to note: Duplicate sub-images don't need to be recalculated. Once you convert a clip to binary color and break it down, check if any 2 sub-images are the same (or even just very similar), and then only use one spinda for both.
Mathematically Proving which Pokémon Should Learn Fly
27:21
adef
Переглядів 292 тис.
Alien Biospheres: Part 15 - Sapience
1:40:13
Biblaridion
Переглядів 129 тис.
ПЕЙ МОЛОКО КАК ФОКУСНИК
00:37
Masomka
Переглядів 1,2 млн
Unintentionally Broken Characters in Video Games
24:29
C-Shift
Переглядів 274 тис.
The Math Behind the Unluckiest Moments in all of Pokémon
24:05
The Indie Icon That Lost It All
37:29
Foekoe
Переглядів 274 тис.
Legend of Doom
0:52
Dad-Playz
Переглядів 2 тис.
Arbitrary Code Execution in Animal Crossing
24:22
Hunter R.
Переглядів 176 тис.
A Breakthrough Discovery in Pokemon
28:25
BlueBoyPhin
Переглядів 495 тис.
How People Reprogram Games...with a CONTROLLER
18:42
GlitchDoctor
Переглядів 122 тис.
SPONGEBOB and the weird 90s band that SHAPED it
16:52
Noodle
Переглядів 474 тис.
skibidi toilet 73 (full episode)
9:41
DaFuq!?Boom!
Переглядів 19 млн
Get a knife! | Standoff 2
1:06
Standoff 2 Live
Переглядів 1,5 млн
Спидран по кошмару... 93ч
0:33
Zalperovski
Переглядів 2,4 млн