Breaking Geometry Dash

Breaking Geometry Dash

Hello everyone. I’ve spent the past 6 days attempting to code Geometry Dash from scratch, which is what you’re currently seeing on screen. What’s interesting about this is because I’m the person who coded this, I can manipulate that code in whatever way I like. I’m sure you guys have lots of ideas for what I can do with this, so please leave them in the comments. *boom* Back in June, I asked you guys what I should
do with this Geometry Dash clone I made. I received no shortage of suggestions, and
today I’ll be showcasing my favorites as well as some of my own ideas. It seemed like a lot of people wanted 2.2
features, so I saved those until the end. But without further ado… *drumroll* Sticky fingers suggests: add weapons to Geometry
Dash. I added three types of weapons: a sword, a
gun, and a bomb. All three weapons destroy blocks and spikes,
but they function in different ways. The sword destroys blocks in front of the
player, the gun shoots a bullet towards the player’s cursor, which then destroys any objects
it contacts, and bombs are thrown in front of the player and have a chance to destroy
any objects within the radius of the explosion. Here they are in action: Chen Qiyang Jason suggests: allow objects
to be placed while playing a level. This suggestion ended up being a lot of fun
to play around with; you can make a staircase out of blocks, spam jump pads everywhere, or just hold a block below the player. AlexLord suggests: make a portal that increases
the player’s size. I have an idea for how this could be done
in the vanilla game, which I’ll probably make a video on in the future, but for now, this
is all you get. In addition to increasing the player’s size, the
large portal also increases the player’s jump height. I felt that this made sense due to the fact
that being small decreases the player’s jump height. Danforce42 suggests: Make the progress bar
act like a video bar, controlling time as it’s dragged. I only allowed time to be dragged backwards
due to there being no physical way for me to predict the player’s path in the future,
but yeah, here it is. It doesn’t have much practical purpose,
but it’s still fun to use nonetheless. Singularity suggests: allow the cursor to
move objects. Acxiion suggests: fix the hitboxes. mk panda and Derpario suggest: allow the cursor
to destroy blocks. This can either be used to create an interesting
obstacle course, or you could just put your cursor in front of the player and automatically
win the game. Parker Isaiah suggests: dynamic blocks that
can be moved by the environment. I made it so that the blocks are affected
by gravity and can be moved around by either the player or other dynamic blocks. I also
added dynamic spikes that are functionally identical to dynamic blocks aside from the
fact that they can’t be pushed directly by the player and must be moved by another dynamic
object. Here’s a short level I made with them. Also, if you arrange them in a rectangle, it creates something fun to watch when the player collides with it. atain suggests: make it so that clicking
on an object will make that object jump. This feature allows you to set up levels in
a way that some objects need to be clicked in order to be within the player’s reach. That’s the only practical application
this really has though. This next change is something I came up with
myself, and it’s actually something I’ve wanted to do for a long time. You usually make the player jump by clicking
anywhere on the screen, but I was curious what gameplay would be like if you had to
click on your player to jump. It definitely makes gameplay more challenging. Following the player with your cursor might
not seem that hard, but it definitely is difficult, especially while also trying to concentrate
on the level. I was also curious if I would be able to straight-fly
using this mechanic. I actually ended up implementing the ship
gamemode to test it, and the answer is sadly: no. Danforce42 suggests: make the cursor attract
objects when a specific button is held. This creates a wave-like effect that’s really
fun to look at. This is also one of my own ideas. In Geometry Dash, you don’t have that many
options when it comes to slopes. You’re limited to using these two angles,
which doesn’t give you that much freedom. Soooo, I added custom block rotation. do i really need to subtitle this part? Basically everybody suggests: implement 2.2
features. These are the features I chose to replicate. I don’t really have anything interesting to
say about reverse mode. There are already places you can use it, but
I still wanted to include it since it’s a pretty important feature in the update. Also, since I made this statement in another video, I allowed reverse mode to be
enabled for dash orbs as well. The first platformer-mode-related thing I
have to show you is me playing through a normal platformer-mode level. However, that’s not all. RobTop mentioned that platformer mode will
have an ice block that’s basically a block with low friction, which is what I’ve made here. Lastly, there’s one more platformer
mode block I want to show you, but it would be more convenient if I
waited until later in the video to do so. This is a level I made that’s only beatable
by teleporting the player across the x axis. Similar to reverse mode, there are already
ways to play around with random triggers yourself and even ways to replicate them in Geometry Dash 2.1. However, the random trigger is another pretty
important feature in the update, so I felt inclined to include it here. This is a level that uses randomization in
a few areas, and this is a level that you only have
a 1/4096 chance of completing. RobTop’s mentioned the idea of a block that
pushes the player in a specific direction. He said that it pushes the player vertically
in normal mode and can push the player in any direction in platformer mode, which
is what I’ve replicated here. I was relunctant to keep the time warp trigger
in this video because I find it pretty uninteresting, but here it is. Challenge mode is possibly the biggest feature
that’s been confirmed for update 2.2. RobTop has revealed a lot about it to us, but
what I find most interesting about it is the possibility of random level generation,
which is what I’ve built here. In order to do this, I made a system that
chooses premade level templates at random and distributes them across the level. Although it’s not truly random, it
worked well for my purposes. Here is some footage of my playing a few random
levels. Also, here is some sped-up footage of a random level. Those were all the submissions I
took the time to replicate. This is something I’ve been wanting to do
for some time now, and although it cost me a sizable portion of my sanity, I’m
happy with the way it turned out. This definitely was a different type of video,
so I hope you still enjoyed it. It’s unlikely that I’ll make a part two to this
video, but so long as this video is well-received, I do plan on making more coding-related
content in the future. Anyway, that concludes this video, so queue
the end screen.


100 thoughts on “Breaking Geometry Dash”

Leave a Reply

Your email address will not be published. Required fields are marked *