In order to get this to work, I had to give tiles the ability to process. So first, I wrote a function to cycle through every level tile and run the process method. Evidently, calling a method on 120,000 individual tiles has an impact on performance. Especially considering only less than 500 tiles will use the process method at a time.
Therefore, when the level loads, the program stores in memory the coordinates of any tiles that run the process method, so I only cycle through those. Now it works just fine.
I wanted to also post an idea I had today for the game. It is more than just a little inspired by Sonic, just so you know.
Basically, in every level there will be a hidden enemy. Specifically, one of the Anti-Blocky from the original Blocky Man. They will have all the abilities that you have as the player, except they will be computer controlled. The only way to unlock the final level and "true" ending is to beat the Anti-Blocky in each level. Like it does in the original Sonic trilogy, I believe it will add something more to get than just beating the game.
Finally, I've been having some fun trying to speed run the levels in Blocky Man. My best time on Blocky World is 1:54. Makes me think that I should add a time trial mode.