I Played DOOM Using Only Spinda Patterns

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 เม.ย. 2024
  • support me on patreon: / adefgames
    jakob's website: jrmh.me/
    the spindafy github page: github.com/Ovidios/spindafy
    #pokemon #science #doom
  • เกม

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

  • @ludibroloplays
    @ludibroloplays 13 วันที่ผ่านมา +3131

    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 13 วันที่ผ่านมา +63

      I thought the exact same thing

    • @awogbob
      @awogbob 13 วันที่ผ่านมา +86

      No you have your sequel video adef

    • @kyucumbear
      @kyucumbear 12 วันที่ผ่านมา +20

      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 12 วันที่ผ่านมา +18

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

    • @UselessBot
      @UselessBot 12 วันที่ผ่านมา +1

      I thought it would be this too

  • @orions2908
    @orions2908 12 วันที่ผ่านมา +653

    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 8 วันที่ผ่านมา +6

      What the flippers is a touhou?

    • @Chaos_frozen
      @Chaos_frozen 8 วันที่ผ่านมา +27

      Bullet hell

    • @oliverniemann2541
      @oliverniemann2541 8 วันที่ผ่านมา +41

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

    • @ListersHatsune
      @ListersHatsune 8 วันที่ผ่านมา +20

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

    • @ModifiedLamborghiniSpongeBob
      @ModifiedLamborghiniSpongeBob 8 วันที่ผ่านมา +2

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

  • @alejoclosa7705
    @alejoclosa7705 12 วันที่ผ่านมา +1404

    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 10 วันที่ผ่านมา +115

      Doom minimal requirements: Optional
      Hotel: Trivago

    • @Batvengence66
      @Batvengence66 9 วันที่ผ่านมา +51

      Doom minimum requirements: Doom

    • @megandavis3372
      @megandavis3372 9 วันที่ผ่านมา +12

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

    • @mohawkmaster5728
      @mohawkmaster5728 9 วันที่ผ่านมา +29

      ​@@megandavis3372 spinda aren't real

    • @jellifygirl
      @jellifygirl 9 วันที่ผ่านมา +29

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

  • @SuperfieldCrUn
    @SuperfieldCrUn 12 วันที่ผ่านมา +1070

    "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 11 วันที่ผ่านมา +105

      And Megalovania is the audio equivalent.

    • @mimisezlol
      @mimisezlol 11 วันที่ผ่านมา +79

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

    • @freshlymemed5680
      @freshlymemed5680 10 วันที่ผ่านมา +22

      ​@@Dingus_Khaanthat would be the lick.

    • @freshlymemed5680
      @freshlymemed5680 10 วันที่ผ่านมา +51

      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 9 วันที่ผ่านมา +14

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

  • @joshnoble07
    @joshnoble07 13 วันที่ผ่านมา +1298

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

    • @owenbridgers
      @owenbridgers 12 วันที่ผ่านมา +20

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

  • @Malao558
    @Malao558 13 วันที่ผ่านมา +916

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

    • @Apollo-._
      @Apollo-._ 8 วันที่ผ่านมา +16

      Spinda-tabase

  • @n1njaman773
    @n1njaman773 13 วันที่ผ่านมา +1326

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

    • @Kektus1
      @Kektus1 12 วันที่ผ่านมา +81

      Turning Doom into a play-by-email game

    • @destroyer4929
      @destroyer4929 12 วันที่ผ่านมา +44

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

    • @sax0cat
      @sax0cat 12 วันที่ผ่านมา +40

      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 11 วันที่ผ่านมา +2

      ​@@sax0catOh my GOD XD

    • @manutosis598
      @manutosis598 10 วันที่ผ่านมา +8

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

  • @Glory2Snowstar
    @Glory2Snowstar 13 วันที่ผ่านมา +545

    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 9 วันที่ผ่านมา +15

      vladimir pokemondesigner wpuld be proud

    • @Wizardrex562
      @Wizardrex562 9 วันที่ผ่านมา

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

    • @zacharywooden2113
      @zacharywooden2113 3 วันที่ผ่านมา +1

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

  • @LetTheInferno
    @LetTheInferno 13 วันที่ผ่านมา +515

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

    • @carsonic_
      @carsonic_ 12 วันที่ผ่านมา +21

      me neither with "spindification genetic algorithm" LOL

  • @velvetbutterfly
    @velvetbutterfly 12 วันที่ผ่านมา +415

    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 12 วันที่ผ่านมา +53

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

    • @ammagon4519
      @ammagon4519 12 วันที่ผ่านมา +24

      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 12 วันที่ผ่านมา +14

      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 12 วันที่ผ่านมา

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

    • @internetlurker1850
      @internetlurker1850 12 วันที่ผ่านมา +4

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

  • @abtinbarzin8369
    @abtinbarzin8369 12 วันที่ผ่านมา +247

    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 12 วันที่ผ่านมา +32

      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 12 วันที่ผ่านมา +42

      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 12 วันที่ผ่านมา +9

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

    • @samroberts7404
      @samroberts7404 12 วันที่ผ่านมา +41

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

    • @DogsRNice
      @DogsRNice 10 วันที่ผ่านมา

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

  • @eliasstenbak5689
    @eliasstenbak5689 13 วันที่ผ่านมา +283

    Now I will play doom on a cell wall

    • @-handlenotavailable
      @-handlenotavailable 13 วันที่ผ่านมา +41

      Play Doom on a hydrogen atom

    • @Aaa-vp6ug
      @Aaa-vp6ug 12 วันที่ผ่านมา +17

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

    • @Kirbix-official
      @Kirbix-official 10 วันที่ผ่านมา +8

      how about the mitochondria, powerhouse of the cell?

    • @eliasstenbak5689
      @eliasstenbak5689 10 วันที่ผ่านมา +2

      @@Kirbix-official not as good

    • @DinnerForkTongue
      @DinnerForkTongue 9 วันที่ผ่านมา +3

      But can it run Kenosis?

  • @MereleFerele
    @MereleFerele 11 วันที่ผ่านมา +43

    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

  • @turndownforwalt
    @turndownforwalt 13 วันที่ผ่านมา +120

    Congrats on pregananant

  • @sveinmagnus2950
    @sveinmagnus2950 13 วันที่ผ่านมา +179

    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 12 วันที่ผ่านมา +33

      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 12 วันที่ผ่านมา +12

      @@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 11 วันที่ผ่านมา +1

      @@jabelsjabels thats what i was thinking

    • @LightTheMars
      @LightTheMars 11 วันที่ผ่านมา +10

      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 8 วันที่ผ่านมา +2

      Think you could introduce Shiny Spindas?

  • @worldwidewakatoshi7247
    @worldwidewakatoshi7247 13 วันที่ผ่านมา +131

    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 12 วันที่ผ่านมา +11

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

    • @rygk9696
      @rygk9696 10 วันที่ผ่านมา +1

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

  • @samuelturner6076
    @samuelturner6076 13 วันที่ผ่านมา +65

    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.

  • @OMGItsJousis
    @OMGItsJousis 12 วันที่ผ่านมา +68

    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 12 วันที่ผ่านมา +1

      Prebaked. Nice touch.

    • @nzeu725
      @nzeu725 12 วันที่ผ่านมา

      interesting

    • @BanD1t8
      @BanD1t8 11 วันที่ผ่านมา +13

      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 10 วันที่ผ่านมา +10

      @@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 9 วันที่ผ่านมา

      OH THIS IS FANTASTIC

  • @DoctorSwellman
    @DoctorSwellman 13 วันที่ผ่านมา +60

    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)

  • @BlueWokou
    @BlueWokou 13 วันที่ผ่านมา +152

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

    • @straphyr
      @straphyr 12 วันที่ผ่านมา +19

      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 12 วันที่ผ่านมา +6

      And also neurodivergent.

  • @dawk7
    @dawk7 12 วันที่ผ่านมา +17

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

  • @ddrchad
    @ddrchad 13 วันที่ผ่านมา +51

    spinDOOM

  • @The0Stroy
    @The0Stroy 12 วันที่ผ่านมา +10

    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 10 วันที่ผ่านมา

      or apparently, fluid simulations too?

  • @xaf15001
    @xaf15001 11 วันที่ผ่านมา +10

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

  • @cambot1922
    @cambot1922 13 วันที่ผ่านมา +34

    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 11 วันที่ผ่านมา +5

      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.

  • @neiltarrant7253
    @neiltarrant7253 13 วันที่ผ่านมา +130

    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 12 วันที่ผ่านมา +41

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

    • @Ultimaximus
      @Ultimaximus 12 วันที่ผ่านมา +14

      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 12 วันที่ผ่านมา +12

      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 12 วันที่ผ่านมา +14

      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 10 วันที่ผ่านมา +1

      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?

  • @samk-j6735
    @samk-j6735 13 วันที่ผ่านมา +21

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

  • @ItsGBMoD
    @ItsGBMoD 10 วันที่ผ่านมา +3

    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
    @jcnot9712 13 วันที่ผ่านมา +9

    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!

  • @SillyLilFella
    @SillyLilFella 13 วันที่ผ่านมา +8

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

  • @megamillion5852
    @megamillion5852 11 วันที่ผ่านมา +2

    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 13 วันที่ผ่านมา +4

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

  • @manvslife271
    @manvslife271 12 วันที่ผ่านมา +5

    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.

  • @eternalinfernos
    @eternalinfernos 12 วันที่ผ่านมา +2

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

  • @skippy3463
    @skippy3463 5 วันที่ผ่านมา

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

  • @yaredcox
    @yaredcox 13 วันที่ผ่านมา +3

    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 13 วันที่ผ่านมา +3

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

  • @daltonthegamer9302
    @daltonthegamer9302 11 วันที่ผ่านมา +2

    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.

  • @Sarah04527
    @Sarah04527 12 วันที่ผ่านมา +2

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

  • @yalkn2073
    @yalkn2073 11 วันที่ผ่านมา +3

    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

  • @soulfulfakealligator
    @soulfulfakealligator 13 วันที่ผ่านมา +3

    Aw yeah, I've been waiting for this one

  • @taste5728
    @taste5728 7 วันที่ผ่านมา +1

    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.

  • @Wack..
    @Wack.. 12 วันที่ผ่านมา

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

  • @justanotheryoutubewatcher5330
    @justanotheryoutubewatcher5330 13 วันที่ผ่านมา +7

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

  • @gaminggaming6180
    @gaminggaming6180 7 วันที่ผ่านมา +3

    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 7 วันที่ผ่านมา

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

  • @tswan137
    @tswan137 13 วันที่ผ่านมา +2

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

  • @thicccboimichaeljohnson6497
    @thicccboimichaeljohnson6497 12 วันที่ผ่านมา +66

    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.

  • @justas423
    @justas423 10 วันที่ผ่านมา +1

    I like how expressive you are!
    Good Spinda Content!

  • @Kosmicd12
    @Kosmicd12 13 วันที่ผ่านมา +4

    adef that's crazy

  • @MStrong95
    @MStrong95 13 วันที่ผ่านมา +10

    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 12 วันที่ผ่านมา +1

      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.

  • @LRXC1
    @LRXC1 11 วันที่ผ่านมา +1

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

  • @veroleshtheinsane6556
    @veroleshtheinsane6556 12 วันที่ผ่านมา

    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 13 วันที่ผ่านมา +5

    Babe wake up, new adef video dropped

  • @parkenharbor
    @parkenharbor 13 วันที่ผ่านมา +6

    Babe wake up new adef video

  • @leilalsw
    @leilalsw 9 วันที่ผ่านมา

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

  • @Eli_Irwin
    @Eli_Irwin 9 วันที่ผ่านมา

    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.

  • @caddymcbutcheryt6733
    @caddymcbutcheryt6733 11 วันที่ผ่านมา +4

    use shinys for more colour depth

  • @rickingangel
    @rickingangel 13 วันที่ผ่านมา +10

    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.

  • @dittod2816
    @dittod2816 8 วันที่ผ่านมา +1

    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

  • @RagingBigfat
    @RagingBigfat 12 วันที่ผ่านมา

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

  • @SnakeJuice
    @SnakeJuice 13 วันที่ผ่านมา +4

    Preggo

  • @freshfilmproducts
    @freshfilmproducts 10 วันที่ผ่านมา +4

    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

  • @reapingsalvation7353
    @reapingsalvation7353 9 วันที่ผ่านมา

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

  • @clodolcmidnights837
    @clodolcmidnights837 9 วันที่ผ่านมา +1

    So you’re saying…
    SPINDA CAN RUN DOOM!

  • @BlueBoi_ThisTaken
    @BlueBoi_ThisTaken 7 วันที่ผ่านมา

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

  • @blablabla798
    @blablabla798 10 วันที่ผ่านมา

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

  • @Simon-oj3bf
    @Simon-oj3bf 9 วันที่ผ่านมา

    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

  • @KaceyTime
    @KaceyTime 12 วันที่ผ่านมา

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

  • @Spifyninja
    @Spifyninja 13 วันที่ผ่านมา

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

  • @agnacore
    @agnacore 10 วันที่ผ่านมา

    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.

  • @Dancingonthesun
    @Dancingonthesun 12 วันที่ผ่านมา

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

  • @memnun5615
    @memnun5615 7 วันที่ผ่านมา

    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!

  • @Skeldoor
    @Skeldoor 12 วันที่ผ่านมา

    This was great. Cool idea and even cooler vid

  • @imadesmond
    @imadesmond 12 วันที่ผ่านมา +1

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

  • @hauntedsocks7346
    @hauntedsocks7346 5 วันที่ผ่านมา

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

  • @saisuapalli
    @saisuapalli 12 วันที่ผ่านมา +2

    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

  • @Eevee860
    @Eevee860 9 วันที่ผ่านมา

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

  • @jademonass2954
    @jademonass2954 9 วันที่ผ่านมา +1

    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 5 วันที่ผ่านมา

      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

  • @kylenoel5056
    @kylenoel5056 11 วันที่ผ่านมา

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

  • @the_furf_of_july4652
    @the_furf_of_july4652 10 วันที่ผ่านมา

    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.

  • @taybubby
    @taybubby 12 วันที่ผ่านมา

    Your videos are always so wild I love it

  • @scrimblobimblo2639
    @scrimblobimblo2639 4 วันที่ผ่านมา

    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

  • @quintivium3251
    @quintivium3251 10 วันที่ผ่านมา

    Insane. Great work

  • @rorbee
    @rorbee 8 วันที่ผ่านมา

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

  • @undeadmatrix4
    @undeadmatrix4 10 วันที่ผ่านมา

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

  • @BinaryHedgehog1
    @BinaryHedgehog1 12 วันที่ผ่านมา

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

  • @FrostyFrostySnow
    @FrostyFrostySnow 12 วันที่ผ่านมา

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

  • @hibbs1712
    @hibbs1712 13 วันที่ผ่านมา +2

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

  • @PenelopeStoneVT
    @PenelopeStoneVT 13 วันที่ผ่านมา

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

  • @Cyberdemon2006
    @Cyberdemon2006 8 วันที่ผ่านมา

    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.

  • @LetsPizza_ok
    @LetsPizza_ok 5 วันที่ผ่านมา

    Amazing video and work!

  • @lightningbolt4481
    @lightningbolt4481 8 วันที่ผ่านมา

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

  • @alicewonder259
    @alicewonder259 9 วันที่ผ่านมา +1

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

  • @kill_repeat8491
    @kill_repeat8491 2 วันที่ผ่านมา

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

  • @JayFolipurba
    @JayFolipurba 10 วันที่ผ่านมา +1

    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.

  • @YOUTY209
    @YOUTY209 10 วันที่ผ่านมา +1

    You missed an opportunity to use shiny spinda to replicate the terrible green of the original gameboy for an even more retro feel!

  • @owenbabcock1583
    @owenbabcock1583 13 วันที่ผ่านมา

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

  • @5hirtandtieler
    @5hirtandtieler 12 วันที่ผ่านมา

    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…

  • @Giraffinator
    @Giraffinator 11 วันที่ผ่านมา +1

    *several thousand spinda were harmed in the making of this video

    • @peggydonica
      @peggydonica 9 วันที่ผ่านมา

      Best reply😂

  • @funnywomanwomanfunny2674
    @funnywomanwomanfunny2674 11 วันที่ผ่านมา

    I DIDN'T EVEN WATCH THE FULL VIDEO I JUST SAW THE FIRST FEW SECONDS AND THAT'S ALL I NEEDED