Pokémon Showdown apparently has both a CLI version and a JavaScript API, so in theory, you could write a wrapper script around either one of those to handle the initial setup and also take the correct actions on every turn, paving the way for a full Brainfuck-to-Showdown interpreter
I'm gonna stop you right there and ask you to reconsider your life choices, but at least I can agree this is a better contribution to humanity than crypto or AI prompt engineering
@@PunishedFelix What do you mean "reconsider your life choices"? Would you say the same to the guy who implemented Bad Apple inside Super Mario Bros (ruclips.net/video/Wa0u1CjGtEQ/видео.html)? Yeah, I thought so
And once you've created one living creature, why stop there? You could create two, or four! And you could have them interact in unique ways... say, by fighting with each other! Battling, even!
Forgot to kill God, should’ve had Arceus on the Heads team to use healing wish and die. But I understand forgetting that small detail when doing something this crazy and awesome! Super impressed as student of CS currently!
Holy shit? I... I don't even have words. This is some god-tier committment to the bit, and your pokemon knowledge is scary. Please do not set your sights on, like, making a real life bomb out of old FireRed and LeafGreen cartridges because I worry that you could do it.
I think conceptually, the idea of "I made pokemon INSIDE OF pokemon" is a funny destination for this idea (if, like youtube commenter tremaynebooker2150 said, you're fine with it being at 1 frame every year or so)
ngl this is actually pretty impressive. seems like you went the extra mile in trying to actually solve this problem, and not just have a catchy title c: love it!
A while back I read an article/paper about how some guys determined that the game Magic the Gathering is also Turing complete, so when I saw this pop up, I knew I had to watch this! What an awesome video, and it’s crazy to see how much work had to go into this to pull it off - mad props! 🎉
3:54 "programing is a deeply silly vocation and anyone telling you otherwise, is earning far too much monu to be taken seriously" is such a banger and coding depression filled statement
Note that Shared Power is technically a format, not a rule, so it isn't guaranteed to work as a custom game rule, but I think only Air Lock, Neutralising Gas and Trace are affected.
Imma let you in on a little secret big guy... There are switch moves... That don't deal damage... Baton pass, chilly reception, teleport, and shed tail are all non-damaging moves. The only thing is, shed tail depletes the user's health, I'm not sure if chilly reception would fail under desolate land, and baton pass would pass the speed boost, and teleport has negative priority, and it would go last, even with an agility up. So... Yeah you can disregard this comment.
i don't know how moddable showdown is but with regards to the automation problem you could theoretically write a script that inputs the necessary actions
So here’s the Gödel question: is there a Pokémon battle that contains the instructions to simulate itself? Or a battle that contains instructions to win the battle?
They teach you CS in philosophy? 👀 Plato would be proud, pure CS is a bit too close to math for me to enjoy, and he said that philosophy and math go hand in hand. (Or was it Pythagoras?)
11:55 wouldn't it just be easier to give cofagrigus the cheek pouch ability? Heals 1/3 of max HP upon eating a berry, so as long as cofagrigus has at least 28 HP when full, cheek pouch will always outheal the damage taken from horn leech
Subscribed after watching this. Your videos are so interesting and high quality. Additionally, your visual storytelling is also very clear! Looking forward to when you run Doom inside RBY or something
No it ain't they keep banning all the abilities that actually synergize with each other, someday it's all gonna be just random immunity abilities for every team :p
1 Minute in and you already set of my fight or flight response. Fantastic Video 10/10 would get flashbanged by callbacks to my time as a Computer science student again
This was a fascinating video to watch, and you made it very easy to track even for someone like me that does not know anything about what this field is
If a human is a valid element of a turing machine, then a machine is a valid element of a turing machine, and that machine could also be built in Pokemon Showdown. Also, your code breaks if you try to subtract in a 0 cell, and you could probably fix that by using double battles.
Official bf spec says behavior is undefined (or error) if you go outside the 0 to 255 range. That is, that would only ever be a problem for improperly written programs, so just don't write those.
@@calvindang7291 While official spec says behavior is undefined, most implementations do handle overflow and underflow since like. It'd be a pain to restart your Pokemon Showdown computer any time you make an error in your coding. This is a problem for the interpreter, but I mean. Why *not* add the parts necessary for an interpreter to get actual programs running (slowly) in Showdown
You don't actually need a human agent to make this work- at least not long term. You could use a human agent to program an agent to read the last used move, then choose the proper pokemon to switch to. This would probably take an incredibly unreasonable amount of time, but I might try implementing this in brainfuck if you're interested in seeing if this would be feasible for something like a long livestream. This would be far from the most absurd thing I've code golfed in an esolang, so I'd be willing to give it a shot.
There's variations of the standard tuning machine that can be demonstrated to also be turing complete, such as a turing machine with n independent tapes, or in this case, a turing machine that can move n amount of cells per instruction. Also, you can likely implement the actual coding as some python script reading/writing showdown data so you can take the user out of the equation as well and have a fully autonomous TM
You could make a Turing machine using an infinite number of Smeargles with a Leppa Berry and the moves Recycle, Seismic Toss (decrement operation), Endeavor (conditional set operation) and Heal Pulse (reset operation).
At the end of the day, the user interaction could be reduced through screen capping, macro usage and similar botting techniques sooooo.... What a vid lol
"and thats all i have for you today" yeah, because making a turing complete system in an unofficial simulator of a small aspect of a video game aimed towards children isnt much
Should have used flame orb with natural cure as the Pokemons abilities so that if you switch them in they get burnt (+) and if you switch them out they get cured(-). This requires no pp. Then you can also have status healing moves for bonus usability. Just make sure u have some sort of healing for the burn damage
This would probably work better with poison and Toxic Orbs instead, since that would let you run Poison Heal to eliminate the problem of taking damage.
I wonder if cheek pouch on the head would work instead of seed sower heals 33% of max mp every time the pokemon eats a berry, which includes the leppa berry
Couldn’t you have simply used a recoil move like wild charge to decrease porygon’s hp by 1? You also could’ve lowered porygon’s level to reduce damage dealt though that wouldn’t have made anything especially easier
There is one attack that deals damage equal to enemy pokemon's level, if both pokemon were level 1, you'd have 1 damage strikes Though I'm not a specialist, if that'd work Certainly would need to move the abilities around
Alan Turing is rolling in his grave, then voltswitching to the adjacent coffin
The adjacent cofagrigus.
gotta love AlanTuring the magnezone
@@theclew47 bro almost fumbled the bag for the whole team for some pheromussy
This comment chain just fried my brain.
He's turing in his grave
Pokémon Showdown apparently has both a CLI version and a JavaScript API, so in theory, you could write a wrapper script around either one of those to handle the initial setup and also take the correct actions on every turn, paving the way for a full Brainfuck-to-Showdown interpreter
I'm gonna stop you right there and ask you to reconsider your life choices, but at least I can agree this is a better contribution to humanity than crypto or AI prompt engineering
@@PunishedFelix What do you mean "reconsider your life choices"? Would you say the same to the guy who implemented Bad Apple inside Super Mario Bros (ruclips.net/video/Wa0u1CjGtEQ/видео.html)? Yeah, I thought so
that guy who used ACE to play Bad Apple in smb3 is a fucking legend
@@JoannaFalkowskayou gotta put a space before and after the link for it to work
@@zackbuildit88 i opened it in another tab on pc and it worked for me
Whats next, a way to remove my gambling addiction? A house? A living creature even?
Would it be mean to say only two of those are possible
@@bibitybobityIownnoproperty not if you dont specify which 2 are
@@marcusmendesmontano7167 thanks for the advice
If he could do that last one, he'd *truly* be a God!
And once you've created one living creature, why stop there? You could create two, or four! And you could have them interact in unique ways... say, by fighting with each other! Battling, even!
Forgot to kill God, should’ve had Arceus on the Heads team to use healing wish and die. But I understand forgetting that small detail when doing something this crazy and awesome! Super impressed as student of CS currently!
Can you play Doom on it
I dont see why not as long as you're fine with a frame taking like a year to draw. Instead of measuring fps you can measure in fpy
anything that is Turing complete can run Doom
beat me to it
Doom probably needs more than 24 Porygons. If Pokémon Showdown ever allows arbitrarily big teams one day...
Technically... Yes!
I know not on what computer the next largest prime number will be calculated, but the one after that will be calculated on Pokemon Showdown
Sick reference (it has radiation poisoning)
So.. a computer in pokemon only runs in bright sunlight and soft grass. Who is gonna run it??
PoGo players
Holy shit? I... I don't even have words. This is some god-tier committment to the bit, and your pokemon knowledge is scary. Please do not set your sights on, like, making a real life bomb out of old FireRed and LeafGreen cartridges because I worry that you could do it.
"your pokemon knowledge is scary" bro doesn't know volt switch
tbf, it's got a battery in it. Just need to short circuit it.
@@Pikachu0071000CS battery in old carts definitely ran out tho lol
there might be alkaline metals I guess?
one day someone will code a pokemon battle using a pokemon showdown team.
I think conceptually, the idea of "I made pokemon INSIDE OF pokemon" is a funny destination for this idea (if, like youtube commenter tremaynebooker2150 said, you're fine with it being at 1 frame every year or so)
This system isn't actually quite Turing complete tho, albeit close. It's not actually able to make a lot of the calculations that that requires
This system isn't actually quite Turing complete tho, albeit close. It's not actually able to make a lot of the calculations that that requires
Not enough memory
Did I watch 16 minutes of video to see Porygon adding 8 to 4? Yes
Did I enjoy it? Yes
SPoiLErS
ngl this is actually pretty impressive.
seems like you went the extra mile in trying to actually solve this problem, and not just have a catchy title c:
love it!
A while back I read an article/paper about how some guys determined that the game Magic the Gathering is also Turing complete, so when I saw this pop up, I knew I had to watch this! What an awesome video, and it’s crazy to see how much work had to go into this to pull it off - mad props! 🎉
3:54 "programing is a deeply silly vocation and anyone telling you otherwise, is earning far too much monu to be taken seriously" is such a banger and coding depression filled statement
I am safe and i think a user is a valid element of a turing machine out of my own volition.
Note that Shared Power is technically a format, not a rule, so it isn't guaranteed to work as a custom game rule, but I think only Air Lock, Neutralising Gas and Trace are affected.
14:09 We can prevent swaps by giving head 🥳
You were to busy wondering if you could do it and never stopped to think if you should. And now you have to run doom on it.
Imma let you in on a little secret big guy... There are switch moves... That don't deal damage... Baton pass, chilly reception, teleport, and shed tail are all non-damaging moves. The only thing is, shed tail depletes the user's health, I'm not sure if chilly reception would fail under desolate land, and baton pass would pass the speed boost, and teleport has negative priority, and it would go last, even with an agility up.
So... Yeah you can disregard this comment.
your video titles always make me go "no way he did that" and then you just do
he actually did it the absolute madman
i don't know how moddable showdown is but with regards to the automation problem you could theoretically write a script that inputs the necessary actions
for your next trick, you'll replicate the halting problem in pokemon showdown
Horrifying, and yet impressive.
So here’s the Gödel question: is there a Pokémon battle that contains the instructions to simulate itself? Or a battle that contains instructions to win the battle?
Plot twist: combine the two concepts, and you get Victini.
I know jack shit about Turing machines but this was fascinating and surprisingly easy to understand
Some say my degree is useless but the fact that I know precisely how big a deal “Turing complete” actually is makes this video a million times better
I should clarify I know this because of my advanced logic course for my philosophy degree
@@chaldavgcbased based based based based logic is so cool
They teach you CS in philosophy? 👀
Plato would be proud, pure CS is a bit too close to math for me to enjoy, and he said that philosophy and math go hand in hand. (Or was it Pythagoras?)
The “at least 8.7M ants” gets me every time.
I'd say a user is only valid if they are following rigid instructions, which they are here, so it's fine.
As a programmer I deeply appreciate how silly this is.
When you get your play button you should live stream the entire melting process
11:55 wouldn't it just be easier to give cofagrigus the cheek pouch ability? Heals 1/3 of max HP upon eating a berry, so as long as cofagrigus has at least 28 HP when full, cheek pouch will always outheal the damage taken from horn leech
You really deserve the subs. Your content is always original and innovative, I love it.
13:36 I need this released as a poster
next:
I built a computer inside of Pokémon showdown which I recreated in minecraft
“We can prevent swaps by giving head”
-King The Luck, 2024
So, this must be how the PC system works...
ok, i paused at 10:21 so i haven't watched the rest but, couldn't you just use a recoil move used by porygon for the minus one hp ?
Wild Charge would probably be the best answer for this. As long as you could drop the damage to 1-2 then it'd be a solid option.
Oh god, "turing complete", "finite state automata" 😱, your giving me theoretical computer science war flashbacks 😭
Subscribed after watching this. Your videos are so interesting and high quality.
Additionally, your visual storytelling is also very clear!
Looking forward to when you run Doom inside RBY or something
Legit watched the adef video on building a computer in RSE an hour ago, very funny coincidence.
2028 is very close you better start pulling your A game
This is ludicrous. Actually just insane and unbelievable. Thank you for making this
need a playlist or something of all the bangers in your videos, can't find all of them, love the vids 🙏
the most redstone pokemon video ever
Objectively false, but igwym
Nice.
-CS student
ADEF REFERENCE LETS GOOOOOO
SHARED POWER MENTIONED!!!!! lets GOOOO (please play it its a good OM I swear)
No it ain't they keep banning all the abilities that actually synergize with each other, someday it's all gonna be just random immunity abilities for every team :p
but they banned unaware, magic guard, regenrator, ice scales, and fur coat, all i wanted was to proc the infinite battle clause )):
1 Minute in and you already set of my fight or flight response. Fantastic Video 10/10 would get flashbanged by callbacks to my time as a Computer science student again
im scared of you
This is super impressive, I wonder if it could be easier in doubles though?
everything’s better in doubles
This was a fascinating video to watch, and you made it very easy to track even for someone like me that does not know anything about what this field is
Why am i watching this, ive had a compsci degree for 5 years and decided i hated dealing with it 4 years ago
I feel like I understand coding and comp sci just a little less for knowing more about it. Thank you, this was very cool!
You're a lunatic. Fantastic job, it made my head hurt!
If a human is a valid element of a turing machine, then a machine is a valid element of a turing machine, and that machine could also be built in Pokemon Showdown. Also, your code breaks if you try to subtract in a 0 cell, and you could probably fix that by using double battles.
you could probably make the cell range between 128 and -127 by using Super Fang on every cell instead of relying on sturdy
Official bf spec says behavior is undefined (or error) if you go outside the 0 to 255 range. That is, that would only ever be a problem for improperly written programs, so just don't write those.
@@calvindang7291 While official spec says behavior is undefined, most implementations do handle overflow and underflow since like. It'd be a pain to restart your Pokemon Showdown computer any time you make an error in your coding. This is a problem for the interpreter, but I mean. Why *not* add the parts necessary for an interpreter to get actual programs running (slowly) in Showdown
I did not at all understand what was happening but this was entertaining and probably took far too long
You don't actually need a human agent to make this work- at least not long term. You could use a human agent to program an agent to read the last used move, then choose the proper pokemon to switch to. This would probably take an incredibly unreasonable amount of time, but I might try implementing this in brainfuck if you're interested in seeing if this would be feasible for something like a long livestream. This would be far from the most absurd thing I've code golfed in an esolang, so I'd be willing to give it a shot.
We will need to use some middleware to interface with Showdown but they apparently have an API so it's not impossible!
please make more CS-related pokemon videos! as a CS major, i absolutely adore these
Very cool thank you. I like how you are trying to covertly teach the community computer science
Absolutely incredible, cannot wait to play around with this and write some programs
not using metagross for this is such a missed opportunity lol
This is the best computer science video I've seen in a long time. I'm in love!
one of my favorite niche video topics, making computers in things. well done, and best of luck on the 50k subs!
There's variations of the standard tuning machine that can be demonstrated to also be turing complete, such as a turing machine with n independent tapes, or in this case, a turing machine that can move n amount of cells per instruction.
Also, you can likely implement the actual coding as some python script reading/writing showdown data so you can take the user out of the equation as well and have a fully autonomous TM
ALSO A BASED NORMAL TYPE ENJOYER?!???
You could use baton pass+aqua ring in order to get the same effect without needing seed sower. Still a really really impressive video
This has to be one of your best challenges ❤
Java user here. Love it
NORMAL TYPES MENTIONED
If I can't run bloons on it then what's the point
there is none
who cares about bloons? the important question is it capable of running Doom or playing Bad Apple
I mean
It can technically play Bloons
Just give it a few millennia to get ready
Wish I could subscribe to you again for this one. Phenomenal work.
You could make a Turing machine using an infinite number of Smeargles with a Leppa Berry and the moves Recycle, Seismic Toss (decrement operation), Endeavor (conditional set operation) and Heal Pulse (reset operation).
Moving between cells is just switching between Pokémon. You do not need an increment operation when you have decrement and reset.
A relatively easy way to inflict 1 hp damage is using lv 1 pokemon with night shade or seismic toss
This is incredible. Thank you so much. Lmfao this is in my personal ,RUclips hall of Fame you absolute madman
This video could be titled “building a computer using bugs I captured to become god”
At the end of the day, the user interaction could be reduced through screen capping, macro usage and similar botting techniques sooooo....
What a vid lol
now turn every randbats set into code in order to use them as the inputs for a game of randbats
"A user is a valid element of a turing machine, right?"
A user is a valid element of a turing machine
"Oh boy, time to start homework"
*opens Pokemon OS*
"and thats all i have for you today"
yeah, because making a turing complete system in an unofficial simulator of a small aspect of a video game aimed towards children isnt much
Straight up did not know about the custom game modes
I would have copycatted a recoil move to make the Porygons subtract their health by 1, otherwise, peak
someone will inevitably run both doom and some version of minecraft on this
Should have used flame orb with natural cure as the Pokemons abilities so that if you switch them in they get burnt (+) and if you switch them out they get cured(-). This requires no pp. Then you can also have status healing moves for bonus usability. Just make sure u have some sort of healing for the burn damage
This would probably work better with poison and Toxic Orbs instead, since that would let you run Poison Heal to eliminate the problem of taking damage.
I wonder if cheek pouch on the head would work instead of seed sower heals 33% of max mp every time the pokemon eats a berry, which includes the leppa berry
The problem with this is that the head isn't eating the leppa berry all that often; it might not provide enough healing in certain situations
Couldn’t you have simply used a recoil move like wild charge to decrease porygon’s hp by 1? You also could’ve lowered porygon’s level to reduce damage dealt though that wouldn’t have made anything especially easier
Can we get a sequel where you go over the cool stuff people make? (Its free content)
Wow. Never thought I'd see Brainfuck used seriously.
I think what you technically created is a pen and paper 🖊️
fortunately pen and paper is turing complete.
Using complex mathematical processes to do very simple mathematical processes. I love science.
Insane boot sequence in 46 turns
There is one attack that deals damage equal to enemy pokemon's level, if both pokemon were level 1, you'd have 1 damage strikes
Though I'm not a specialist, if that'd work
Certainly would need to move the abilities around
We asked if we could when we should have asked if we should
this is insane enough that i have to subscribe
"Turning" Complete
Guys, we got a computer in showdown before Skong
Next you'll make me win a million dollars inside of Pokémon Showdown! If you could do that, you'd be a God!
Next time I need to add 8 to 4, I know where to go