I do wish code bullet didn't swear so much. I get that it's not offensive to many people but it does bother me and really does keep me from watching his stuff... I fear that I'm in the great minority these days...
@Just A Channel how is it? Does it have any advantages over normal coding? (It just seems more confusing and less productive, but I only use non visual ones, so that might be it 😃)
The problem is that the ai isn't learing how to play geometry dash, it's memorizing how to play 1 specific level. It would have to be retaught for every level. True ai would be able to read the map itself and learn for what obstacles it needed to jump for what it needed to remain still
If it the normal levels then yea, but if it the community made levels I don't think this option is viable since those levels have a lot of moving and rotating objects and a bunch of weird alignments on the objects.
@@sugar2000galaxy True, a neural network would likely have to be trained on each new level it plays due to the new features being introduced. To avoid this a large set of recent community levels could be selected for training, that feature all the major factors a geometry dash level can have
Imagine being born, having to run a death gauntlet and then killed for your poor performance along with dozens of your kin. Now imagine AI having mental capacity to understand their predicament.
the AI wasn't the lil cube dude, it's playing the game just like any other human would. I wouldn't say an adult is kin to his younger self, he is a grown up version of his younger self. Just because I eventually learned not to touch a lit stove doesn't mean I'm still not the stupid kid that once burned their finger on that stove.
@@karkarplays3798 Yep, can confirm this, very common in platform-based games and famous for making an appearance in many games such as Celeste, Mario and Minecraft. Did you watch the video by GMTK by any chance?
I guess that it's considered a bug because it isn't present in the original Geometry dash, which makes sense, since Geometry Dash it's more of a runner game than a platformer
I don't know if you'll read this, as its been almost 2 years, but bro, I was so happy that I found another fun content creator that knows how to do code stuff, and then I realize you only have 2 videos. Just hope you know that this is great content, at least for me.
Yep. It’s sitting at roughly 75K views as of Jan 23 2021 at 12:22 pm EST. I’m leaving this as a log so in a couple days I can come back and know exactly how many ppl it got recommended to
@@fjaps idk, i know that electrodynamix is the first level to have speed changes, but i know that there are way faster levels, i dont really know why i replied though lol.
"Those that score poorly will be discarded and deleted from memory." Always remember to chase those dreams, even if you're afraid of this happening to you.
"Jumps on the spikes even though the plan says it'll go under" lol that's literally me, I'm like, "Ok, don't jump there, remember not to jump there" but then I jump there
Every time I hear from scratch: me: in scratch This video: yes. me: well, I didn’t expect that well it’s a joke. Video: nope it was made in scratch. me: what
dude your actually crazy. i really hope your channel grows. the amount of work you put in your videos with such a low sub count. YOU LITERALLY CODED THE ENTIRE GAME AND EXPLAINED IT.
Here's what I suggest you do, get the scource code of the chrome dino game remake by Code Bullet, and modify that into geometry dash. He used neat to train the ai and the results were astounding (25000 meters).
"Gd is made on scratch." Robert Topala (the original creator): bruh you're using griffpatch's version? omg why is the scratch version more popular than the actual game?
8:34 Thats actually not a glitch. It's a common practice in game design. "Coyote Jumping" is used to make the game feel more lenient towards your input, so if you technically miss the platform, you'll have a second chance.
I bet you were one of the dudes I played against who threw Infinite grenades to kill everyone in begone nplay, lol, just assuming of course. Excellent vid man. 💙
Maybe during the flying section increase the actions back from 10% of the time to maybe 50% of the time? The airship section requires more precision and smaller inputs done more often? Love the vid hope it helps
@@da_do_g You don't need a game's source code to create AI for it. You could always work with values in memory, and if those are not easy to find you can work with visuals.
It is definitely cool to see this, although indeed the learning is flawed. Because, the thing is, AI can learn the map, but it will not learn to avoid any obstacles in this way, like spikes. So, if you want the AI to really learn how to play this game, part of the plan, I think, would be to take apart the songs used in the game and the screen currently displayed to the player, transform them into features, such as beats per minute/object positions or something (since this contributes to the timing of the jump), use these as input for a model, such as a neural network, and have corresponding output, such as a small, medium and large jump (i think there are multiple different jumps in the game, but not sure). So, for a given beat, current objects on screen (instead of the whole map), put them in a model and use evolutionary algorithms to learn the model, not use evolutionary algorithm on its own. Then it could work a whole lot better. But then again, the current set up is not the most ideal and it would take much more time and effort, which may not be worth it. Insightful though, great job!
Just make it that it records your inputs on the ship and take it as a generation so it starts mutating as well on ship: 0 - do nothing 1 - change direction (if it was holding, release, if it was doing nothing, hold)
No, it's only memorizing where it died, so it can then memorize the level. You need to repeat that with every level so it doesn't learn that when there's a spike, it needs to jump. It only memorizes the level.
It's not really machine learning at all. Like BlackMoon said, it's literally just memorizing where it died and trying out random things until it finally jumps over that one spike. I would've honestly approached this by giving it actual vision aka a bunch of raycasts in a bunch of directions returning what it hit in a numerical form and other inputs like velocity or something idk. Then I would use these inputs and make an actual neural network then use a genetic algorithm to evolve it.
Im no coder whatsoever but couldn’t you have made it so that the ai gets rewarded more if it goes the same distance with less moves? Like maybe getting the ai’s average number of moves per distance by dividing the distance travelled with the number of moves. Just a suggestion. Great video though!
nope. i don't see why the ai should be rewarded for little clicks. the ai should be rewarded for getting far, not making a small amount of clicks. smaller clicks is hardly better than a lot of clicks, and sometimes you have to click a lot in succession fast to finish sections
@@swifttt It wouldn't really matter whether you have to click a lot they're saying that it rewards ais that have the least amount of moves used to complete a portion so if you're forced to click a lot for one portion it will click a lot but instead find the least amount of clicks it has to perform for that section. But you're right, there is really no point in rewarding ais that use the least amount of moves for a level. Distance travelled is enough.
Sometimes games add hang time where you can do that. It isn’t a bug. It’s just if the game didn’t, it would feel like it ate your input because you didn’t jump.
@@matthewhubka6350 No, it's because of the platformer script Griffpatch uses. It's not intentional. Not to mention, the point is that it wouldn't be a glitch anyway.
this is basically code bullet, with less talking / joking and less swearing.
Less mental breakdowns
I do wish code bullet didn't swear so much. I get that it's not offensive to many people but it does bother me and really does keep me from watching his stuff... I fear that I'm in the great minority these days...
@@fredk4745 *AFTER A MENTAL BREAKDOWN*
*121426 ATTEMPTS*
@@RubyPiec well fuck
And thats why a like this more the only problem is that he didn’t make a video since 2019
When you said "make game from scratch," I didn't think you meant like this lol
Scratch is a program design application for beginners
@@ANameNotToBeUsed "from scratch" means from nothing tho, that's why op didn't think it was actually on scratch
@@ANameNotToBeUsed they meant that they thought they would completely remake the game starting from nithing
Me too lol ;D
@Just A Channel how is it? Does it have any advantages over normal coding? (It just seems more confusing and less productive, but I only use non visual ones, so that might be it 😃)
The problem is that the ai isn't learing how to play geometry dash, it's memorizing how to play 1 specific level. It would have to be retaught for every level. True ai would be able to read the map itself and learn for what obstacles it needed to jump for what it needed to remain still
If it the normal levels then yea, but if it the community made levels I don't think this option is viable since those levels have a lot of moving and rotating objects and a bunch of weird alignments on the objects.
@@sugar2000galaxy True, a neural network would likely have to be trained on each new level it plays due to the new features being introduced. To avoid this a large set of recent community levels could be selected for training, that feature all the major factors a geometry dash level can have
Zbot
Agreed. Making an AI memorize inputs for specific levels is far less interesting to watch for me instead of it "learning" the game mechanics.
For a geometry dash AI to truly “work” it would need to have a reasonable chance of beating a new level on its first playthrough
"This is effectively the same as being born to rich parents" haha!
Read this comment exactly at the moment it was said in video
@@AlexKuz same
I mean hes not wrong
Yeah dude I too watched this video. You know, the one we are on?
Wait a minute, WHO A-ARE YOU
Hey this is an actually good video from an underrated creator. Nice!
*coughs* this *coughs* has 1.6M *coughs* views.
This is a joke please don't be offended
Imagine being born, having to run a death gauntlet and then killed for your poor performance along with dozens of your kin. Now imagine AI having mental capacity to understand their predicament.
the AI wasn't the lil cube dude, it's playing the game just like any other human would. I wouldn't say an adult is kin to his younger self, he is a grown up version of his younger self. Just because I eventually learned not to touch a lit stove doesn't mean I'm still not the stupid kid that once burned their finger on that stove.
AIs will never develop consciousness
@@ceebbees12345 yes, but you’re forgetting that the AI is eliminated after getting a low score.
@@hotdog3392 who tf said they would
@@layalsaleh4103 this dude said it? The comment or
8:35 The late jump is not a bug, it is often used in platformers to make a better experience.
It's called coyote time I believe. I heard another RUclips say that in a game jam video
@@karkarplays3798 Yep, can confirm this, very common in platform-based games and famous for making an appearance in many games such as Celeste, Mario and Minecraft. Did you watch the video by GMTK by any chance?
@@thatotherandrew_ I believe that might be. I cant remember to be fair
@@thatotherandrew_ I saw the video. Great channel
I guess that it's considered a bug because it isn't present in the original Geometry dash, which makes sense, since Geometry Dash it's more of a runner game than a platformer
I don't know if you'll read this, as its been almost 2 years, but bro, I was so happy that I found another fun content creator that knows how to do code stuff, and then I realize you only have 2 videos.
Just hope you know that this is great content, at least for me.
I feel like this is going to be recommended to everyone soon
You nailed it.
yes
Yep. It’s sitting at roughly 75K views as of Jan 23 2021 at 12:22 pm EST. I’m leaving this as a log so in a couple days I can come back and know exactly how many ppl it got recommended to
We are the first wave
Seems to be working
i cant believe you convert griffpatch’s gd to html, that’s actually impressive!
Python?
Yes, it was impressive back then. Scratch 2.0 used Flash Player but the newer Scratch 3.0 now uses HTML so it’s much easier to convert a file
It's easy
could these people let this dude be proud of the youtuber
@@eddyzow it was impressive for back then, so it’s impressive.
It wasn’t originally made in scratch, just someone adapted it to scratch
the description exists btw
It’s the running joke of the episode don’t you get it
157+ people dont get jokes
r/woosh
Sherlock holmes
"We will open it up in scratch because that's what it's made in."
not yet ferb
Bot Headed: Geometry Dash is made in scratch
Geometry Dash: HOW DARE YOU INSULT ME LIKE THAT!
No, he knows it's not originally made on Scratch, he just used the Scratch version because it's easier. It's on the description
@@soniaagp I know it's just a joke of what he said
@@vorteq Oh, ok
"So we opened the game in scratch since its what its made in."
I can't watch past that point in the video without losing braincells
This pissed me off so bad
@@reimarpb I already lost all my brain cells because of that video
@@ShadowOcto funny joke haha
Don't yall know what a joke is
"While moving at a fixed speed"
_Electrodynamix wants to know your location_
It isnt even 4x speed but whatever
@@DemoNotReal ok and
@@fjaps idk, i know that electrodynamix is the first level to have speed changes, but i know that there are way faster levels, i dont really know why i replied though lol.
@@DemoNotReal Maybe he only played Lite version like me.
@@fan0 Thats true but still
"Those that score poorly will be discarded and deleted from memory."
Always remember to chase those dreams, even if you're afraid of this happening to you.
The “born to rich parents” joke convinced me to like the video
Funny thing about this way of „evolving“ the ai is that it more closely resembles automating the creation of a TAS
"We will open it up in scratch because that's what it's made in."
Me: 😐
Lol!!!
Me when I hear him say that: ruclips.net/video/6dInjtI8cdA/видео.html
@@STK_ I thought that was a rick roll
@@Emouse2is lol everyone thinks that but I'm not them people that trolls alot on comment shit I rarely comment on videos
I want to commit a crime all of a sudden
Honestly mad respect for asking people to say stuff in comments to ur 500 subscribers
“I’ll be back soon” that’s what they all say 😔
"Jumps on the spikes even though the plan says it'll go under"
lol that's literally me, I'm like, "Ok, don't jump there, remember not to jump there" but then I jump there
4:24 this is a pretty good alogrithm
Every time I hear from scratch:
me: in scratch
This video: yes.
me: well, I didn’t expect that well it’s a joke.
Video: nope it was made in scratch.
me: what
when you said it was created in scratch, I was like, no it wasn't. You're talking about griffpatch's remake.
dude your actually crazy. i really hope your channel grows. the amount of work you put in your videos with such a low sub count. YOU LITERALLY CODED THE ENTIRE GAME AND EXPLAINED IT.
Gd isn't made in scratch. It's original version is from RobTop
Everyone who plays gd knows
He had to use a copy so he could get into the game files and the code.
Mr. Bacon you can literally take the game files from the original
Ya it’s completely open source
Look in the description
great effort on this! I appreciate you sharing even if it didn't turn out completely the way you wanted. it was cool seeing the AI develop.
When I took a few tries to finish the level : omg I took so long on the FIRST level. What am I going to do in the future levels
Bot headed :
king said “rhythm based platformer” instead of rhythm game. fantastic job he got it right what a g
The AI is just like me, failing at the beginning levels and just sighing when I fail
"...and open up scratch since that's what it's made in"
“but father, I must jump”
I want to see that AI complete Bloodbath.
Him: Plays geometry dash. The game: *NOT GEOMETRY DASH*
for a moment I legit thought gd was made in scratch
same
Here's what I suggest you do, get the scource code of the chrome dino game remake by Code Bullet, and modify that into geometry dash. He used neat to train the ai and the results were astounding (25000 meters).
It's so interesting to see how much work & effort you put into that... amazing. And really interesting :D
wow, a really underrated youtuber, nice vid!
"We download the game and open it in scratch.. Cause that is what it is made in."
6:00 i like how the code is an "E" shape
E
Lol
L
Lo
L
Lol
EEE
E
EE
E
EE
E
When he mentioned flash I got nostalgic. R.I.P Adobe Flash November 3rd, 2002 - February 5th, 2021
its getting into recommedations and this deserves it
Now I can finally listen to the background music without getting interrupted
Jesus, with this game being frustrating by itself adding another factor like coding an ai to beat it must be super annoying
That was the quickest subscribe ever
4:30 alogrithm hehe
4:22 you mean
the beginnning made some sense and then things just got steadily more confusing as it went on
Wow, that looked painful to do, subbed!
Exact same thing I did
"Gd is made on scratch."
Robert Topala (the original creator): bruh you're using griffpatch's version? omg why is the scratch version more popular than the actual game?
'scuse me sir
is your taskbar on the SIDE i-
My taskbar is on the northwest
@@hazeltree7738 w-why tho
@@endmysuffering7903 why not?
@@__SunFlow__ it's just unsettling and i don't know why
im used to seeing it at the bottom
8:34 Thats actually not a glitch. It's a common practice in game design. "Coyote Jumping" is used to make the game feel more lenient towards your input, so if you technically miss the platform, you'll have a second chance.
Good, now beat yatagarosu with it
bloodlust
*Tartarus*
VSC
Sonic wave
You guys are soooooo original
2:11 my RUclips crashed right when he said try to get it started and it made me laugh cause of how well timed it was
Whole video: "I could do this but am lazy af, heres a much more complex and difficult way to do it...."
codebullet-esq content but a lot more focused (and watchable). good stuff!
And more enjoyable, bc no swears
Pretty good, but it's more brute force than AI
I had no idea Geometry Dash came from Scratch...I didn't know Scratch was capable of producing Tartarus....
Ai: lemme beat full spam silient circles
Someone made a ybot macro for it though
So he’s technically teaching us how to code any game based of its programming
"We download the game and open it up in scratch since that's what it's made in" bruh.
@xStormy i know
This was actually really interesting. I'm genuinely surprised you only have 9k subscribers
Well he's only uploaded 2 videos in 2 years
@@longjonhothan6963 oh lol wait that's... Weird lmao
@@Tapsonaut I agree considering how good the videos are
@@longjonhothan6963 yes! I've watched both after your comment and now I'm wondering if the creator knows that he has such a big channel?
wtf this video is underrated af
I bet you were one of the dudes I played against who threw Infinite grenades to kill everyone in begone nplay, lol, just assuming of course. Excellent vid man. 💙
Nobody gonna talk about how Geometry dash is NOT made in Scratch, and that’s just a Scratch remake? Okay then.
Not sure what you mean. It seems that a lot of the discussion and the comments from the OP are specifically about that.
ye but see most players relate to the flash one. ironically i am saying this 10 days after flash died
@@yuvrajguglani821 It's not even Flash, it's Scratch
Maybe during the flying section increase the actions back from 10% of the time to maybe 50% of the time? The airship section requires more precision and smaller inputs done more often? Love the vid hope it helps
0:50 *t r i g g e r e d*
Scratch... that's the last thing I expected to remember when I clicked this video.
Why, oh why, would someone subject themselves to making _a game engine_ in *Scratch*?
Very nice video, editing was funny and simple, I liked it
Great job :)
I love Alogrithms 3:58
Why don’t you use the *actual* actual game. I feel ripped off
because the actual game is closed source and you cant get the source code from it
@@da_do_g You don't need a game's source code to create AI for it. You could always work with values in memory, and if those are not easy to find you can work with visuals.
@@NozomiClips He said that working with visuals would be more hard and would waste a lot of the pc resources doing that
mlagents is out in unity, I hope you find your joy with their framework and come back with great videos!
It is definitely cool to see this, although indeed the learning is flawed. Because, the thing is, AI can learn the map, but it will not learn to avoid any obstacles in this way, like spikes. So, if you want the AI to really learn how to play this game, part of the plan, I think, would be to take apart the songs used in the game and the screen currently displayed to the player, transform them into features, such as beats per minute/object positions or something (since this contributes to the timing of the jump), use these as input for a model, such as a neural network, and have corresponding output, such as a small, medium and large jump (i think there are multiple different jumps in the game, but not sure). So, for a given beat, current objects on screen (instead of the whole map), put them in a model and use evolutionary algorithms to learn the model, not use evolutionary algorithm on its own. Then it could work a whole lot better. But then again, the current set up is not the most ideal and it would take much more time and effort, which may not be worth it.
Insightful though, great job!
We need more of these videos bro
you better make more videos im watching you
Don't worry, there's another one coming soon.
I don't expect a shoutout but let's get this guy to 10k and why do people dislike he worked so hard on this
you're actually smart, where can i donate
edit: you're a fucking genius
If I were to do this I would just give it a screenshot of each frame and go on vacation or something. Either way, loved the video.
Why am I watching this as if I understand what his saying 😂
Just make it that it records your inputs on the ship and take it as a generation so it starts mutating as well
on ship: 0 - do nothing 1 - change direction (if it was holding, release, if it was doing nothing, hold)
Wow! I attempted the same thing over on my channel with Java and Neural Networks, but you explain it way better. Great job!
Yours could handle dynamic obstacles, mine can't even bruteforce a fixed solution. Liked your work, keep it up.
@@Bot-Head Thank you
I think I wandered into the wrong class... but I stayed anyway.
Is this machine learning? I’m really into coding and I would love to something just like this. Great job on the video! 🙂
Good fucking luck lmao
No, it's only memorizing where it died, so it can then memorize the level. You need to repeat that with every level so it doesn't learn that when there's a spike, it needs to jump. It only memorizes the level.
It's not really machine learning at all. Like BlackMoon said, it's literally just memorizing where it died and trying out random things until it finally jumps over that one spike. I would've honestly approached this by giving it actual vision aka a bunch of raycasts in a bunch of directions returning what it hit in a numerical form and other inputs like velocity or something idk. Then I would use these inputs and make an actual neural network then use a genetic algorithm to evolve it.
"we download the game and open it up in scratch, 'cause that's what it's made in"
Congrats on winning the algorithm lottery!
Imagine this AI goes to beat Tartarus in one attempt.
6:40 is where the bots actually start
Thank you
Thx
it is not a glitch, the 2 frame jump is called a coyote jump. many programmers use this to make their games more fair
Im no coder whatsoever but couldn’t you have made it so that the ai gets rewarded more if it goes the same distance with less moves? Like maybe getting the ai’s average number of moves per distance by dividing the distance travelled with the number of moves. Just a suggestion. Great video though!
nope. i don't see why the ai should be rewarded for little clicks. the ai should be rewarded for getting far, not making a small amount of clicks. smaller clicks is hardly better than a lot of clicks, and sometimes you have to click a lot in succession fast to finish sections
Make it play Firework
@@swifttt It wouldn't really matter whether you have to click a lot they're saying that it rewards ais that have the least amount of moves used to complete a portion so if you're forced to click a lot for one portion it will click a lot but instead find the least amount of clicks it has to perform for that section. But you're right, there is really no point in rewarding ais that use the least amount of moves for a level. Distance travelled is enough.
@@Anonymous-tr7mb ohh i get what was meant now. thanks
@@swifttt no problem
Bot: *Sees spikes*
Also Bot: *Lets see what these things do"
"Glitch where for two frames after falling off the platform you can jump" *bug, I can't believe you've done this.
Sometimes games add hang time where you can do that. It isn’t a bug. It’s just if the game didn’t, it would feel like it ate your input because you didn’t jump.
@@matthewhubka6350 No, it's because of the platformer script Griffpatch uses. It's not intentional. Not to mention, the point is that it wouldn't be a glitch anyway.
RUclips recommended yet again bringing us together
The problem with this system is that you have to repeat for every individual level; nothing carries over.
I remember playing this game before so much that I got bored and stoped playing.
do you have the code for this?
man thinks GD is a scratch game 😂🤣
flash what's that
R.I.P.
Flash
1996-2020
The man came, made two bangers, and left.