I Played DOOM Using Only Spinda Patterns

Ойындар

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

Пікірлер: 948

  • @orions2908
    @orions290810 күн бұрын

    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

    6 күн бұрын

    What the flippers is a touhou?

  • @Chaos_frozen

    @Chaos_frozen

    6 күн бұрын

    Bullet hell

  • @oliverniemann2541

    @oliverniemann2541

    6 күн бұрын

    ​@@ModifiedLamborghiniSpongeBobthe game series that the bad apple animation is from. Bad apple is on everything like doom

  • @ListersHatsune

    @ListersHatsune

    6 күн бұрын

    "You can't let yourself be held back by common sense in Gensokyo" - Sanae Kochiya, Touhou Subterranean Animism

  • @ModifiedLamborghiniSpongeBob

    @ModifiedLamborghiniSpongeBob

    6 күн бұрын

    @@oliverniemann2541 ok mog btw what type of cheese do you like?

  • @ludibroloplays
    @ludibroloplays11 күн бұрын

    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

    11 күн бұрын

    I thought the exact same thing

  • @awogbob

    @awogbob

    11 күн бұрын

    No you have your sequel video adef

  • @kyucumbear

    @kyucumbear

    10 күн бұрын

    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

    10 күн бұрын

    Actually it would be rather simple, that's just a TA(S?) with extra steps

  • @UselessBot

    @UselessBot

    10 күн бұрын

    I thought it would be this too

  • @alejoclosa7705
    @alejoclosa770510 күн бұрын

    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

    8 күн бұрын

    Doom minimal requirements: Optional Hotel: Trivago

  • @Batvengence66

    @Batvengence66

    7 күн бұрын

    Doom minimum requirements: Doom

  • @megandavis3372

    @megandavis3372

    7 күн бұрын

    what does - "_Being real(also optional, apparently)" mean?

  • @mohawkmaster5728

    @mohawkmaster5728

    7 күн бұрын

    ​@@megandavis3372 spinda aren't real

  • @jellifygirl

    @jellifygirl

    7 күн бұрын

    ​@@mohawkmaster5728 **sniffle** don't... don't say that...

  • @SuperfieldCrUn
    @SuperfieldCrUn10 күн бұрын

    "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

    10 күн бұрын

    And Megalovania is the audio equivalent.

  • @mimisezlol

    @mimisezlol

    9 күн бұрын

    The r/place bad apple image was actually coordinated by a discord and was carefully planned

  • @freshlymemed5680

    @freshlymemed5680

    8 күн бұрын

    ​@@Dingus_Khaanthat would be the lick.

  • @freshlymemed5680

    @freshlymemed5680

    8 күн бұрын

    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

    7 күн бұрын

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

  • @Malao558
    @Malao55811 күн бұрын

    Missed opportunity at 5:40 to refer to it as a “spin-database”

  • @Apollo-._

    @Apollo-._

    6 күн бұрын

    Spinda-tabase

  • @joshnoble07
    @joshnoble0711 күн бұрын

    saying the words "Please enjoy" before showing me one of the most nightmarish creations to have ever existed. it's almost cruel

  • @owenbridgers

    @owenbridgers

    10 күн бұрын

    I felt like I was thrown into a vortex when it started playing, an assault on the senses

  • @n1njaman773
    @n1njaman77311 күн бұрын

    The best way to play doom, when it takes literal weeks to play 10 seconds.

  • @Kektus1

    @Kektus1

    10 күн бұрын

    Turning Doom into a play-by-email game

  • @destroyer4929

    @destroyer4929

    10 күн бұрын

    It's like old chess games when people would mail their moves to eachother

  • @sax0cat

    @sax0cat

    10 күн бұрын

    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

    9 күн бұрын

    ​@@sax0catOh my GOD XD

  • @manutosis598

    @manutosis598

    8 күн бұрын

    ​@@sax0catsir, you've been diagnosed with doom.

  • @velvetbutterfly
    @velvetbutterfly10 күн бұрын

    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

    10 күн бұрын

    Light correction, but the original Bad Apple is a stage theme for Touhou 4: Lotus Land Story. Not a boss theme.

  • @ammagon4519

    @ammagon4519

    10 күн бұрын

    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

    10 күн бұрын

    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

    10 күн бұрын

    @@omegaotaku1342 don't mess with us toohoe fans We never played the games

  • @internetlurker1850

    @internetlurker1850

    10 күн бұрын

    You have summoned the horde (I LOVE OLD AND VIOLENT WOMEN!!)

  • @Glory2Snowstar
    @Glory2Snowstar11 күн бұрын

    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

    8 күн бұрын

    vladimir pokemondesigner wpuld be proud

  • @Wizardrex562

    @Wizardrex562

    7 күн бұрын

    ​@@y2k.channelI KNOW THE REFERENCE WHAT THE FUCK?????????

  • @zacharywooden2113

    @zacharywooden2113

    Күн бұрын

    @@y2k.channel is panda. is spinny. are you a jokester?

  • @LetTheInferno
    @LetTheInferno11 күн бұрын

    "Spinda of best fit" was not something I thought I would hear today, but I'm here for it!

  • @carsonic_

    @carsonic_

    10 күн бұрын

    me neither with "spindification genetic algorithm" LOL

  • @abtinbarzin8369
    @abtinbarzin836911 күн бұрын

    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

    10 күн бұрын

    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

    10 күн бұрын

    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

    10 күн бұрын

    Programming and math are 2 different skill sets. You could program something with literally no math knowledge if you wanted.

  • @samroberts7404

    @samroberts7404

    10 күн бұрын

    ​@@rompevuevitos222 or as Matt parker often proves, you can badly program something with a shit load of maths knowledge...

  • @DogsRNice

    @DogsRNice

    8 күн бұрын

    @@rompevuevitos222I have dyscalcula and I'm currently learning programming It's nice to make something do the math for me

  • @eliasstenbak5689
    @eliasstenbak568911 күн бұрын

    Now I will play doom on a cell wall

  • @-handlenotavailable

    @-handlenotavailable

    11 күн бұрын

    Play Doom on a hydrogen atom

  • @Aaa-vp6ug

    @Aaa-vp6ug

    10 күн бұрын

    @@-handlenotavailableyou could probably play it on a cluster of them

  • @Kirbix-official

    @Kirbix-official

    8 күн бұрын

    how about the mitochondria, powerhouse of the cell?

  • @eliasstenbak5689

    @eliasstenbak5689

    8 күн бұрын

    @@Kirbix-official not as good

  • @DinnerForkTongue

    @DinnerForkTongue

    7 күн бұрын

    But can it run Kenosis?

  • @turndownforwalt
    @turndownforwalt11 күн бұрын

    Congrats on pregananant

  • @ahorseofcourse7283

    @ahorseofcourse7283

    8 күн бұрын

    Preganté

  • @dylanodonnell-weatherup680

    @dylanodonnell-weatherup680

    7 күн бұрын

    ​@@ahorseofcourse7283 gregnant?

  • @ahorseofcourse7283

    @ahorseofcourse7283

    7 күн бұрын

    @@dylanodonnell-weatherup680 Pragent!

  • @chrisharl

    @chrisharl

    7 күн бұрын

    Pageant?

  • @sveinmagnus2950
    @sveinmagnus295011 күн бұрын

    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

    11 күн бұрын

    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

    10 күн бұрын

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

    10 күн бұрын

    @@jabelsjabels thats what i was thinking

  • @LightTheMars

    @LightTheMars

    9 күн бұрын

    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

    7 күн бұрын

    Think you could introduce Shiny Spindas?

  • @MereleFerele
    @MereleFerele9 күн бұрын

    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

  • @worldwidewakatoshi7247
    @worldwidewakatoshi724711 күн бұрын

    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

    10 күн бұрын

    My favorite was when my friend got it running on a car dashboard

  • @rygk9696

    @rygk9696

    8 күн бұрын

    I loved it when one of my colleagues got it running on a U.S military satellite.

  • @BlueWokou
    @BlueWokou11 күн бұрын

    Don't mess with Touhou fans, all of us are insane in at least one fashion. More seriously, this is super cool!

  • @straphyr

    @straphyr

    10 күн бұрын

    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

    10 күн бұрын

    And also neurodivergent.

  • @OMGItsJousis
    @OMGItsJousis10 күн бұрын

    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

    10 күн бұрын

    Prebaked. Nice touch.

  • @nzeu725

    @nzeu725

    10 күн бұрын

    interesting

  • @BanD1t8

    @BanD1t8

    9 күн бұрын

    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

    8 күн бұрын

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

    7 күн бұрын

    OH THIS IS FANTASTIC

  • @samuelturner6076
    @samuelturner607611 күн бұрын

    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
    @DoctorSwellman11 күн бұрын

    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)

  • @dawk7
    @dawk710 күн бұрын

    >"A meme... about, anime?" Ah, so you've chosen death by pissed-off videogame fandom.

  • @neiltarrant7253
    @neiltarrant725311 күн бұрын

    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

    10 күн бұрын

    Adding to this, a genetic algorithm is 100% unnecessary for this. I'm fairly sure simple modeling would be possible here.

  • @Ultimaximus

    @Ultimaximus

    10 күн бұрын

    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

    10 күн бұрын

    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

    10 күн бұрын

    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

    8 күн бұрын

    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?

  • @ddrchad
    @ddrchad11 күн бұрын

    spinDOOM

  • @cambot1922
    @cambot192211 күн бұрын

    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

    10 күн бұрын

    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.

  • @xaf15001
    @xaf150019 күн бұрын

    Bad Apple 🤜🤛 Doom Having surprisingly similiar overlap of maniacs running them on things you're not supposed to run them on

  • @The0Stroy
    @The0Stroy10 күн бұрын

    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

    8 күн бұрын

    or apparently, fluid simulations too?

  • @ItsGBMoD
    @ItsGBMoD8 күн бұрын

    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

  • @jcnot9712
    @jcnot971211 күн бұрын

    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-j673511 күн бұрын

    I mean this in the highest praise possible: You are the BDG's Unraveled of Pokemon.

  • @SillyLilFella
    @SillyLilFella11 күн бұрын

    Naturally, the next step is to play Pokémon Sapphire on a Spinda and beat the game with Spinda

  • @ANDORRA195

    @ANDORRA195

    6 күн бұрын

    Spindaception

  • @qwerty11111122

    @qwerty11111122

    5 күн бұрын

    Dope

  • @megamillion5852
    @megamillion58529 күн бұрын

    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.

  • @manvslife271
    @manvslife27110 күн бұрын

    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.

  • @anakruger2412
    @anakruger241211 күн бұрын

    This is such a cool video!!! Incredible work from both you and Jakob

  • @Sarah04527
    @Sarah0452710 күн бұрын

    Love your editing style! Also the final product was so cursed, but glad you accomplished it!

  • @daltonthegamer9302
    @daltonthegamer93029 күн бұрын

    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.

  • @yaredcox
    @yaredcox11 күн бұрын

    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.

  • @justanotheryoutubewatcher5330
    @justanotheryoutubewatcher533011 күн бұрын

    I've never been this early to a man losing his mind before, nice.

  • @eternalinfernos
    @eternalinfernos10 күн бұрын

    clay, as a software engineer, this video was both terrifying and breathtaking to watch! amazing work!!!

  • @skippy3463
    @skippy34634 күн бұрын

    kudos to you both! that ten second clip is insane, especially seeing how difficult the process was!

  • @yalkn2073
    @yalkn207310 күн бұрын

    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

  • @gaminggaming6180
    @gaminggaming61805 күн бұрын

    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

    5 күн бұрын

    Tbh, you could make an equivalent to ascii art. Pick 16 spinda of gradient spottedness and use them as 16-bit monochrome pixels

  • @tswan137
    @tswan13711 күн бұрын

    This is one of the coolest things I've seen. What an amazing idea, dude.

  • @LRXC1
    @LRXC19 күн бұрын

    Okay I’m back this video gave me SUCH a new appreciation for Spinda. Amazing and UNIQUE stuff as always man! Keep it up 😎

  • @Stormkyleis
    @Stormkyleis11 күн бұрын

    Fantastic video. You know what would make it even better? If I could watch it on a mosaic of Spinda.

  • @MStrong95
    @MStrong9511 күн бұрын

    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

    10 күн бұрын

    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.

  • @veroleshtheinsane6556
    @veroleshtheinsane655610 күн бұрын

    Not what I expected the video to be about after I saw your initial post, but I'm here for it. That's epic.

  • @taste5728
    @taste57286 күн бұрын

    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.

  • @Kosmicd12
    @Kosmicd1211 күн бұрын

    adef that's crazy

  • @soulfulfakealligator
    @soulfulfakealligator11 күн бұрын

    Aw yeah, I've been waiting for this one

  • @leilalsw
    @leilalsw7 күн бұрын

    Your videos are always so fascinating and neato! Never would have guessed to see Doom on a Spinda today but it was totally impressive!

  • @justas423
    @justas4238 күн бұрын

    I like how expressive you are! Good Spinda Content!

  • @parkenharbor
    @parkenharbor11 күн бұрын

    Babe wake up new adef video

  • @colewatts7599
    @colewatts759911 күн бұрын

    Babe wake up, new adef video dropped

  • @thicccboimichaeljohnson6497
    @thicccboimichaeljohnson649710 күн бұрын

    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.

  • @Wack..
    @Wack..11 күн бұрын

    Another great video Adef, love em and I cant wait for the next one!

  • @agnacore
    @agnacore8 күн бұрын

    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.

  • @rickingangel
    @rickingangel11 күн бұрын

    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.

  • @caddymcbutcheryt6733
    @caddymcbutcheryt67339 күн бұрын

    use shinys for more colour depth

  • @KaceyTime
    @KaceyTime10 күн бұрын

    wow! why did yall so this lmao this is very cool, excellent work both of ya. the mosaic turned out so so well.

  • @kylenoel5056
    @kylenoel50569 күн бұрын

    Even for 2 days this is criminally underviewed. Well done both of you, and keep up the good content man

  • @SnakeJuice
    @SnakeJuice11 күн бұрын

    Preggo

  • @freshfilmproducts
    @freshfilmproducts8 күн бұрын

    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

  • @imadesmond
    @imadesmond10 күн бұрын

    I have a theory that someone is gonna run doom with their womb. He will be born soon

  • @Dancingonthesun
    @Dancingonthesun10 күн бұрын

    Your videos are always gold, adef. This was a surprising one! You deserve so many more views

  • @RagingBigfat
    @RagingBigfat11 күн бұрын

    Honestly love your content man it's fresh, interesting and funny

  • @BlueBoi_ThisTaken
    @BlueBoi_ThisTaken5 күн бұрын

    This video is making me want to watch every video on the channel Edit: Congrats on 50k and hopes for more!

  • @memnun5615
    @memnun56155 күн бұрын

    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!

  • @saisuapalli
    @saisuapalli10 күн бұрын

    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

  • @blablabla798
    @blablabla7988 күн бұрын

    him having the lighter color represent the darker spots and the darker color represent the lighter spots was surely a choice

  • @flumpeldoo7064
    @flumpeldoo706410 күн бұрын

    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.

  • @Eli_Irwin
    @Eli_Irwin7 күн бұрын

    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.

  • @clodolcmidnights837
    @clodolcmidnights8377 күн бұрын

    So you’re saying… SPINDA CAN RUN DOOM!

  • @reapingsalvation7353
    @reapingsalvation73537 күн бұрын

    I’m so glad I found your videos. Don’t ever change.

  • @scrimblobimblo2639
    @scrimblobimblo26392 күн бұрын

    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

  • @dittod2816
    @dittod28167 күн бұрын

    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

  • @BinaryHedgehog1
    @BinaryHedgehog110 күн бұрын

    I love how you brought up Big O without mentioning it. Nice touch on explaining the complexity.

  • @hauntedsocks7346
    @hauntedsocks73463 күн бұрын

    “Is it a boy?” “No it’s a spinda playing doom.”

  • @FrostyFrostySnow
    @FrostyFrostySnow10 күн бұрын

    This is pure insanity and I love it. Massive kudos to Jakob and yourself

  • @undeadmatrix4
    @undeadmatrix48 күн бұрын

    Okay but everything else aside the intro hook for the video is absolutely incredible A+ well done

  • @kill_repeat8491
    @kill_repeat8491Күн бұрын

    I foolishly assumed this was Doom with one, single, Spinda pattern

  • @Spifyninja
    @Spifyninja11 күн бұрын

    Another video I didn't know I needed until I saw it. Good work.

  • @the_furf_of_july4652
    @the_furf_of_july46528 күн бұрын

    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.

  • @owenbabcock1583
    @owenbabcock158311 күн бұрын

    You're possibly becoming my favourite KZreadr... What a cool idea, story and delivery

  • @5hirtandtieler
    @5hirtandtieler10 күн бұрын

    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…

  • @crushermach3263
    @crushermach32637 күн бұрын

    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.

  • @Simon-oj3bf
    @Simon-oj3bf7 күн бұрын

    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

  • @alicewonder259
    @alicewonder2597 күн бұрын

    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 :)

  • @hibbs1712
    @hibbs171211 күн бұрын

    the pokemon content we deserve: No joke this is seriously awesome

  • @jademonass2954
    @jademonass29547 күн бұрын

    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

    3 күн бұрын

    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

  • @PenelopeStoneVT
    @PenelopeStoneVT11 күн бұрын

    It's incredible what people can do with a bit of inspiration and collaboration :D

  • @CooperDooper38
    @CooperDooper3810 күн бұрын

    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.

  • @nodrance
    @nodrance10 күн бұрын

    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.

  • @carsonic_
    @carsonic_10 күн бұрын

    I learned more about Spindas than I ever needed to know, just to see the best 10 second clip of my life. Thank you

  • @rorbee
    @rorbee6 күн бұрын

    New Gen 10 spinda evo: Spindisplay Now instead of just 4 randomly located spots, you get a full 360p monitor with randomly lit pixels

  • @Eevee860
    @Eevee8607 күн бұрын

    "up to f for 15", there's bases so high it uses the entire alphabet

  • @WPPatriot
    @WPPatriot8 күн бұрын

    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!

  • @Skeldoor
    @Skeldoor11 күн бұрын

    This was great. Cool idea and even cooler vid

  • @lightningbolt4481
    @lightningbolt44816 күн бұрын

    Dude found a way to turn an animal with randomized spots into enlarged pixles.

  • @BenjaminGlatt
    @BenjaminGlatt10 күн бұрын

    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.

  • @WereWereingtonTheThird
    @WereWereingtonTheThird10 күн бұрын

    I wish that random Pokémon being put to use was the way I could learn about every Python programming concept. You're inspirational for never giving up!

Келесі