AI learns to play 2048
ฝัง
- เผยแพร่เมื่อ 8 พ.ค. 2024
- I created an AI to play the game 2048, his name is Thomas
Huge thanks to Brilliant.org for supporting this channel check them out at www.brilliant.org/CodeBullet
I have twitter now. Yay
follow me to fill the void in my heart
/ code_bullet
Become a patreon to support my future content as well as sneak peaks of whats to come.
/ codebullet
Check out my Discord server
/ discord
I know heaps of people are going to ask so here is the music
Mirror Mirror - Diamond Ortiz
Smiles for miles - Silent Partner
Hyperspeed - eveningland
Gypsy Dance - Topher Mohr and Alex Elena
Etherial Chior Ascends - Doug Maxwell
Wishful thinking - Dan Labowitz
Do i understand: no
Am i entertained: yes
Did i ask:no
@@oxygen_is_my_drug4811 Shut up:yes
@Bergo 3L.Normie It's your opinion : yes.
@Bergo 3L.Normie this is not a roast: yes.
bro why did this chat get toxic for no reason
When I was a kid I didn't even know there was a strategy and thought it was a clicker game where you just swipe as fast as you can randomly.
There’s a strategy?
@@jasonhoward2613 yes
@@jasonhoward2613 there are many actually
@@bendily3623 wtf is the strategy everything is random chance except the math which is partly random to
I found always going clockwise (or anti) worked. Up, right, down, left (repeat)
Tommy looks five moves into the future.. he sees his failures coming and has no choice but to helplessly walk towards them
Idk why this comment doesn’t have likes
He must follow fate
@@Hoghiderrr It is.... inevitable
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
It seems like the algorithm wasn't able to account for where tiles will appear or their value, so looking 5 moves into the future isn't much better than just looking one move into the future
New favorite insult:
"You're about as good as randomly pressing the left key"
Oh, damn you right
Right bro
Repetitively*
if you are lucky you'll get 2048 with just left and down over and over.
@@ZielAmerak I start by randomly mashing buttons
"it keeps lower scoring tiles away from the highest score tiles"
So the AI enforces aristocracy.
O H G O D
Spitty 22 bruh
Spitty 22 B R U H
Spitty 22 B R U H
B R U H
Hearing you switch between calling the ai tommy and tomas when you’re frustrated is like a parent being upset at their child
Yes
Code bullet is so brutal that he doesn't creates algorithm for game, He creates game for algorithm
I’ve never thought about it like that but yea you’re right, that’s pretty funny lol
@@Mightic exactly, with most simple games like this, it's much better to just code it yourself instead of trying to interface with an existing game
@@Mightic Yeah I think he started creating the games after the Piano Tiles incident.
its funny
@@puppergump4117 this video was created BEFORE that… incident…
Being named Thomas, I felt quite called out through this
Same :( sorry for being a disappointment CB but please keep other Tommy’s out of it
Felt that lol
“Every one has the right to an opinion but not everyone’s opinion is right”
Best quote of the decade
I agree with you
That quote is an opinion, and it is wrong
It's so true. Just like how my friend thinks dragon ball is the best anime. His opinion is wrong
Opinions cannot be right or wrong, if there is evidence behind the opinion then it is called a substantiated assumption and can be correct or incorrect
@@khalil7011 That opinion is also wrong IMO
Plot twist: It was his friend actually named Thomas playing all along
Gristly Scarab plot twist: Thomas was an ai
@@fredthespear4923 plot twist: Thomas was an ai made by his friend Thomas
*sips water*
mega oof plot twist: Thomas made Thomas who was an AI who made Thomas who was an AI
@ReTri 64 Ahh yes, a man of culture I see
I like how even when "Thomas" finally succeeds, it's still less efficient than any even slightly smart human player, making Tommy sort of pointless, but he always was a problem child and it's the journey that matters, not the destination
"Thomas kinda sucks" I hear enough of this normally, I don't need it to happen here too
Wow. I was just impressed with you recreating the game..
I'm pretty sure the original creator allowed for its free distribution so idk if he rly had to do that tbh XD
Harasuke Amu I’m pretty sure he needs to remake the game so the AI can see the code and actually play the game
The guy who made 2048 did it for fun in a week so it’s no surprise that it was kind of easy to recreate
@@natenobles4372 wow.
Recreating the game in Java was the final project of my first computer science unit at university.
Ai learns to code Ai
TheEliteEagleGamer Wow, wow, wow. Calm down. Are you trying to give birth to SkyNet?
TheEliteEagleGamer DESTROY HUMANITY
TheEliteEagleGamer so its.... AInception?
*i love this idea*
We need that
"I CAN GO TO BED"
has to be the funniest/saddest thing I have ever heard
As somebody who is named Thomas, this ai is basically a perfect recreation of anybody named Thomas. They fail at everything for a while, then somehow get it out of sheer luck.
Definitely not Thomas Wayne, since he succeeded for a while until running out of luck in an alleyway
@@denisucuuu that's Bruce Wayne?
i am also named thomas and can confirm
@@divakarmenon5381no
Tomas: "I've looked 5 Moves in the future"
Code Bullet: "In what one do we get to 2048?"
Tomas: "One"
CreeperX3 sssBOOM I was about to comment the same thjng
Thomas:" Yes."
fuck you infinity war refrencer
That grammar ;-;
I like that comment it’s funny
"failure is important for learning"
so that's why my dad says I'm important
me IRL
daaang
r/suicidebywords
Savage
Greatest mistake(iam sorry)
I love how much "failure" you actually include in your videos. It's interesting to watch how many types of things can actually go wrong while programming, and hearing what your thought process is to overcome them.
So basically avoiding the problem
Plot twist: hell release the second enigma machine video in the year 2048..he's leaving us clues
3:40. Well, that’s literally the strategy I’ve gone with for the past 2 years...
Axel Andersson same, but it doesn't always get you a 2048. There's the "luck" factor and that's why Thomas couldn't get it either.
This pretty much *is* the strategy for 2048; pick a corner and work toward it. It doesn't always work because the random placement of new tiles will occasionally put you in a state where it becomes impossible to win despite perfect play (as illustrated by the video), but that's the nature of any game that features a random element. Put simply, luck beats skill any day of the week.
Whatever you do, never move your largest value tile out of that corner - the RNG *will* screw you by immediately spawning a 2 there.
@Nathan Williams -- "never move your largest value tile out of that corner"
But sometimes that's the only move, alas.
Indeed, and the RNG gremlins are already chuckling.
Wouldn't a good way to make the AI develop better be to let each one do like 10 runs and see which one was the most consistant
Code Bullet: “Alright, I think I’ll go to bed.”
Thomas: “You’ll go to bed when we’ve reached 2048.”
I some how keep arriving at your videos late at night when I am searching for vids to watch and I always get so fascinated by you content.
Your second approach reminds me of the Othello algorithm I wrote for my introductory coding course a few semesters ago and I just wanted to say, I 100% understand watching said algorithm come *so close*
Sorry I wasn’t performing well
Try fuckin harder next time Thomas
Hello police I'd like to report a murder, I think the suspects name was John Garst? Please come to my location immediately, thank you.
No hard feelings Nikolai.
@@romanboi8834wanna go bowling?
Thomas Horsman HOLY SHIT I'M DYING
AI learns to take over the world
-Code Bullet Video 2019
Hyrule Warrior if AI robots take over the world we can just blame Code Bullet
"His name is Paul and he conquers nations"
-Code Bullet 2020
...of Minecraft
I feel like a civilization video would be cool actually
lmao
Seeing you use processing is so nostalgic. Processing is fantastic
The video I been looking for for a WHILE
I felt so sad for him when he said “The next improvement was at generation 227” that’s gotta be so depressing
humans probably on generation like a million yet we still don’t know how to live perfectly. Good job AI
*247*
Me too
247***
Sergio Arvizu According to Wikipedia, the earliest representative of what we’d call humans, Homo Habilis, first showed up around 2.8 million years ago. Assuming generations take 20 years, which is probably very uninformed, that would be 140,000 generations.
Not as much as a million, but a bit more time to develop than 247 generations. That’d only get us to here from just before the Great Pyramids were built.
That moment at 9:08 where Tommy could have just gone up left left and reached 2048
Arpit Ranasaria YEAH
*GODDAMIT TOM*
Arpit Ranasaria right up left left
That’s where u see the value of human labeling. Simulating a human learning prespective is so hard that its better if a pro player of 2048 plays the game 500 times and we give the data to our neural network. Then AI can have a very good sense of what playing this game looks like. At this point AI knows how to play the game but there’s also room for improvement. so just like code bullet did, now we can use “choosing the best out of 5 moves” just like he did and it is gonna get better and better.
The more complex the problem (self driving car) the more useful the human teaching
OMG
You are my favorite TH-cam channel man. Love this shit
ive never watched your channel on my pc and yet I've been recommended you, I don't mind
"what's up guys, today's video is in 2048"
-code bullet accidentally reveals his origins
Flunkyvs Lacky well now it isn’t anymore, so let’s like it again to try and get 512
**420 likes**
:)
**likes**
@@c10v3r But why?
I don’t get it
@Buddy Christ oh, I see. But what does that have to do with code bullet’s origins? Are they saying he’s a time traveler?
You should've told it that in addition to having the highest possible number in the top left corner is good, it should also prefer having as much free slots as possible and get rid of small tiles as much as possible
I would have thought that would be the one and only scoring method for future outcomes
He also had that the 2nd highest scoring tile should be next to the highest scoring tile. This should continue on down, the 3rd should be next to the second, the 4th next to the third.
The highest theoretical number is 131k but the biggest number achieved is 65k (I know person who’s done it but don’t know if anyone else has)
@@observable3194 I struggle getting past 4092 and I have spent way too much time playing 2048.
Yeah, I think the entire problem boils down to develop a better way to evaluate the "game state". Looking 5 steps into the future should be absolutely enough to win this game, probably even 3. But it's sort of useless if your definition of whether the game state is good or not is so bad. eg aligned values (along a sort of S-shape) are much better than a 15 / 6 / 13 / 1 / 7 etc. Would be a rather complex algorithm for a simple game but hey
I finally beat this game after so many years, I can die happy now
@HelloThere nothing crazy it just says you won and you can keep going if you want
You’re teaching me better than my professors did
When I went down the rabbit hole with this game, my strategy revolved around one simple restiction: choose a direction (in my case, up) and never move in that direction. A consequence of this is that the largest tiles end up on one face, similar to your "top left for highest value block" strategy. I wonder how the AI would do with this restriction in direction.
Edit: 2048 became an easy target, if I recall correctly, 8192 was the max I reached before throwing the game in my "NEVER TOUCH AGAIN" category.
i could neverrrrr reach 8196 how long did that take???
@Natsu Dragneel lol do you mean score or tile? because i doubt youre dating the world record holder lmaoooo
@Natsu Dragneel probably on the app where undos are possible too...
@Natsu Dragneel I don't know that it can be considered "low" against any reasonable standard, even if it's not a record. To put it into perspective, a 6x6 board offers 2.25 times as much play area as a 4x4 board, and with that extra area comes many options for storing large tiles while building smaller tiles needed for further advancement (at a point, the hardest problem becomes efficient use of space). But still, congratulations to your girlfriend, impressive work!
My strategy is spam random buttons at the start then press random buttons
"Yes, I can go to bed!" the typical software engineer saying after a project XD
"I CAN, I just don't WANT to." - Typical Software Engineer ( not me)
4 years later and i am still waiting for that enigma video.... you cant leave me hanging like this :(
Crazy how much calmer and happier he sounded in his old videos
My highest tile is 8192. Take that thomas.
One game where we are better... still
RCoverC one time I got a 4096 tile and 2 2048 tiles but they weren't next to each other and I lost because I couldn't combine then and free up space.
@@thejman3489 Nice job. That's still a great score. I haven't played 2048 for about 6 months but I can tell you that I was improving slowly. Once I had 2 8192 tiles and I couldn't combine them *FACEPALM* :(
I got to 512. Snake is more my game
I mean not trying to brag but...16384
ai learns to play agar.io
David Simon And?
@@legoguney but *everyone* had to love it for some reason
David Simon how is it trash
Someone allready made a bot for agar.io
@@legoguney just Because it's old does not mean that it is bad
Bullet here explains the definition of camping “TOMMY KEEP TOP LEFT”
coding is just "if" statements
- a wise man 2021
*Make an AI learn to play Windows XP Pinball??*
*I WOULD LOVE IT if it makes fancy combos continuously or see what he prefers to do lol*
Every single AI video: It’s evolving, just backwards
Congratulations on 6.9 mill views mate! Nice
I still want that second enigma video...
Or, to be fair, any video..
Just keep making videos please.
"Everyone has a right to an opinion, but not every opinion is right" I love it, I'm stealing it for future arguments!
opinions aren't wrong or right
@@mcplumpkin6191 whoosh that flew over your head
@@sir_slimestone3797 woooosh*
by the way, it's hard to tell if this was a joke because you don't know the tone of the text.
@@mcplumpkin6191 yes they are, if your opinions collide with evidence, then they are wrong.
@@geli95us they are based on thoughts and experiences.
The first generation is already better than me.
Nathan, i thought you were joking, but then I watched it.
(I know you were joking even if it is true)
Agreed.
445th like
it's true
Same
oh god.. 8:22 feels like when you’re on the last mission of a game and a slowed down instrumental version of the main theme plays…
Seems like using NEAT to evolve an evaluation metric for the lookahead approach would be a useful fusion of the two methods.
that’s how really advanced AIs like alpha zero work, they use the neural network to learn which parts of the game tree to look into
Wow thats neat
CB: Since the difference between random movements and intelligent movements is very small...
Me: Yes! I'm almost intelligent!
edit: 1.5k likes :O
100th like babyyyyy
Lol
881 like baby
I don't know the first thing about coding but always thought it was interesting. Is something like this really difficult or is it kind of an "eh" thing to other coders and only impresses the ignorant
@@TheStoneBreak Oh god these algorithms are pretty monserous, its very impressive depending on experiece/foucus in ur code, as coding styled progammers simmilar to him wouldn't vice virsa
Code an Ai that can beat another Ai in chess
Wait wouldn’t it always be a tie or am I missing something
Good point
There's a chess match for AI, though. It's quite intense and surprisingly complex.
@@yolkeggs let both ai know it can't end in a tie
@@yolkeggs you're missing something! Chess matches between different engines (ai's) are very common and some are far superior to others. Google recently destroyed the previous benchmark for the strongest engine (Stockfish) with their deep mind ai. In fact, by changing the difficulty of the chess computer on your phone, you're essentially getting two different "AI's".
I love how many voice cracks he has, it makes him seem so much more human and relatable then these other youtubers with over 1 mil subs
that moment when the segway was so good you didn't even realize it was an ad
1:36 “let’s see what happens when we press the up arrow - aaaand they’re gone” 😂😂😂
Let's see what happens when we deposit this money, and its gone
Welcome to standing up school. And you failed..
Helix Peli asdf movie....
And I love it
GJKtale - Gacha and undertale have you watched #12?
Helix Peli only that 1-11 complitition
CB: keep the highest tile in the top left
Tommy: how about... no?
Hey! I actually made a 2048 ai in college. Takes me back. Mine performed okay, but the algorithm was definitely trash compared to the top tier algorithms. Was satisfying to see it all work though.
Me: *goes to yt to find some info and help on sth*
YT: i’m gonna put a super interesting video from CB om your frontpage to distract you for a solid 11 minutes and 10 seconds
I have no clue what youre saying half the time but your channel is amazing
If there was no visuals this would be the title:
Man screams at someone (presumably his son) for 11 minutes and 10 seconds
I love it
tru
96 likes
Go home you failure
Hi. you have the Tanki online logo photo
I played back in the day, 2014 , 2015,2016,2017,2018.
Antennas are perfectly recreating facial expression, it's awesome
Okay, that subtle fusion dance make me so happy inside
It's April 21 2019 still no part 2 of enigma machine
AceSpace April 22 now
@@moormonkey Wow, amazing observation!
Dustin 23
@@lightningstar-ng9tm 24
down stairs stuff 25
**Instant click**
bro same
Видео наоборот Watch my TH-cam channel it's about artificial intelligent taking over the world m.th-cam.com/video/04vDiPiPyMs/w-d-xo.html
Видео наоборотy
Видео наоборот yeah
is this guy a hacker???
Perhaps a better scoring algorithm would reward keeping tiles of the same value adjacent, and also somewhat reward keeping tiles of almost-the-same values adjacent.
Also reward empty space, because that's your distance from the loss condition.
This just popped up, I’m expecting a video in the next two weeks. TH-cam always does this to me for some reason: a video I’ve already watched is re-recommended to me, and less than a week later a new video comes out. Hope I’m right
AI learns to play threes. Threes is a much more interesting game that was released before 2048. It takes a lot more strategy and just looks better
@Wax Meatley Funny thing is 2048 is the one that ripped off threes and gave it better graphics, that's what made it more popular
also the system behind the tiles added is much more complex in threes
You're the Illuminati.
Of course it was released before 2048, it isn’t even 2048 yet! It’s only 2019!
Wooosh.
Edit: I wooshed myself.
He will single handedly create an AI that will destroy the world.
* Tommy launches nukes *
*TOMMY NOOOOOOOOO*
i guess, it can take maximum after some "little" time period)
(maximum is when all board is filled by the "snake" from 131072 to 4, i`ve did it by myself, and much people too)
looking forward to see video with maximum)
For those curious like me of the BGM in 8:18, its;
"25-03: There Is Nothing Left to Say or Do (Short Version)"
Thomas: Is an AI and within 5 tries reaches 2048
Me: can’t even get to 512
I can barely get to 64
A computer pressing random keys has gotten farther than I ever have.
Stop to pretend to be so dumb lmao, its actually impossible to not to reach 256 even moving completely random i guess, anyway back at school my record was 8192 (+ 2 2048,so i wasnt really close to the 16k)
@@alexandrubragari1537 It's not impossible. You just have to intentionally be stupid.
Edit: I think it might be near impossible to not get to 32.
ATS Gaming you gave me challenge, im getting under 32 and i will never stop trying
Your sense of humor in these is simply amazing! Love it, doesn't matter how successfully or not your creations are, your commentary makes these 10/10. It's pretty cool to see what challenges you run into and what solutions you come up with to them. Interesting to see your different approaches :)
I remember figuring this out and maxing out the game because you couldn't fit any more unique tiles on the screen to add together
While keeping the biggest number in the corner and the next biggest right next to it is an important part of the winning strategy, it's also worth noting that the undo function is quite useful for any unlucky spawns. For example, if you are forced to move the biggest number out of the corner and a 2 spawns in the corner, you can undo the move3 and do it again in the hopes of a better spawn. Or another one could be a 2 spawning when a 4 would be better (or vice versa). Or times when the spawn happens on the wrong line and it would mess up all your plans. While a lot of these examples usually won't prevent you from getting to 2048, getting into higher numbers requires knowing when to use the undo function (also worth noting that you can only undo 1 move at a time).
This was even more hilarious to me because my real name is Thomas but I rarely go by that anymore.
TedDoesGaming then what the ham sandwich DO you go by
Probably Tom
Vigorous dingle exactly my thought
TedDoesGaming brother
Vigorous dingle I like your channel
I found your channel from the enigma video, would be great to see some more!
Me toooo :)
I think the issue with using a MinMax strategy, that is the game states algorithm CB was waltzing around, is that it cannot accurately account for the randomness of the new tiles that spawn in. These new tiles have a random location with a probabilistic value. When 'aiming' for a future state, it is possible that state is unachievable because the tiles needed to get there didn't spawn in the same locations with the same values.
It sounds like you implied you were using the minmax algorithm to evaluate the future game states. When evaluating the game state, you could take into consideration the possible locations for the new tile & its value (called substates) and apply a modified minmax algorithm to those substates. I can tell that this is not being done because of the move at 8:25, where 256,128,128 is moved right. The minimum state for that move would have been a 2 being added at the top left corner, permanently (for the forseeable 5 future moves, actually) displacing 512 from being in the top left corner. A left direction in this instance would be the better move.
I'm halfway motivated to make a better algorithm for this game myself now
Enigma!!! Gimme me Enigma!
GIB MIR JETZT ENIGMA! SCHNELL! SCHNELL!!
UPPP!
Azy Die Deutschen sind überall xD
Shashank Pincha I am here!
NEIN!
"my man thomas looks 5 moves into the future" This is King Crimsons ability
Videos like code bullets make me want to learn how to code.
nobody:
Code Bullet: DAM IT TOMMY EVERYTIME
_Ai learns how to take control of humanity_
Y E S
me: *hears over-dramatic royalty-free music*
also me: yeah dis the one
when the music started playing I knew shit was about to go down.
7:50 - 7:52
That made me laugh harder than it should
Me too XD
1:19 "They do a quick fusion dance..." Instantly subbed
when he said try not to subscribe too hard when making some squares on a screen I actually subbed.
i think the issue may have been in not letting the highest tile move also using tile stacks to favourably rearrange the board also moving large tiles to make spaces causing a tile to spawn that couldnt be merged...
I clicked the subscribe button twice.
I was already subscribed tho
When you walk 😂
there was no point of commenting that
well done
Eing subscribe-unsubscribe-subscribed again. Thanks Eing, Very cool!!
YOU PROMISED US!
+
AWESOME VID !!!!!!!!!!!!
I like to put the biggest tiles in bottom right and work from bottom left to right but this works too
AI learns Geometry Dash
I think someone did that, but he still should do that
Oh yes that would be fun
It sounds stupid, but I would like to watch
DutchDragonGames
Also known as GD bot xddd.
Maar alsnog een redelijk idee.
PLEEEEAAAAASSSSEEEEEE
At 9:07 your A.I. was within 5 moves of victory and it made the wrong move. Luckily he got there still anyway a few seconds later
@CoRE Pyroz Right, Up, Left, Left. You're probably not looking at the same board configuration I am since the video is moving so fast.
9:08 up left left
right, up, left, left( there are alot of other ways ive also seen to instantly solve it but whatever)
Yeah ikr down, right, up, left, left
Thomas seems to always wants to solve the block from top left to right so at 9:07 he wanted to solve the top far right block next??
The second example used for game states (5:22) is a very thoughtful game state to be in since there are only 2 moves to get out of the situation
Not that it matters but the timestamp is behind by one second
"i couldnt be bothered and i wanted to do this more" damn bullet i relate to that.
I wonder how long it would take thomas to get to the 131072 tile. It would require a large amount of luck with tiles and probably takes trillions or more trials
ZX T I wonder that too. I had the same game going for months. Of course I didn't play it everyday. But it took forever. Mainly cause I had to fix mistakes. And of course it wasn't 4X4.
thommy will just print a tile with 131072 on it and call it gg
@@fotwen Have you tried the 5D? 2x2x2x2x2? (2x2 grids layed out in two 2x2 grids, wasd within a grid, rf to go up, qe for within the two metagrids, and zx to swap between those). Since it's 32 empty tiles instead of 16, two tiles spawn with each move.
@@TheeCK1357 It can, it's the theoretical maximum possible with a 4x4 grid. It requires a perfect arrangement of tiles to reach, and a 4 MUST spawn in the empty tile.
It can fit that but I had that block in the bottom left corner and the 4 in the bottom right. All other tiles where occupied by their highest possible value