Game Update September 2, 2019:
Tower Swap is now running on OpenGL! Now it should be 60 FPS on all devices that are supported.
My old Android tablet used to run the game at 11 FPS, now it's 60!
The game used to use the CPU to render the images. That was bad because on Android it doesn't give the full CPU power to web pages.
My Android tablet can run a 3D canvas game with a lot of polygons but it can't even display a simple 2D canvas scrolling tile map without lagging.
Gotta make use of that GPU.
Also, now when a dragon gets hit with an arrow, it turns red, instead of blinking.
This is now possible because I'm using a webGL shader that supports color tinting.
Hopefully all this openGL stuff didn't break anything for anyone.