100% agree with you on those. Part of my initial idea was actually to add obstacles and then gain abilities to avoid or ignore said obstacles (for example, a spike ball that if you dash into normally hurts you but if you apply say a 'metal coat' ability, you can dash through just fine). Knocking enemies into each other for more damage was a really good idea (probably would need to improve their collision a bit though).
Yeah... part of that was me being lazy. I essentially used a shader to take the base player sprite (that I drew) and quickly give it an overlay without thinking of much beyond color hue. The tiles were taken from a tileset so its colors probably also clashed with the player sprite. Definitely something to work on in the future. Thanks for your thoughts and glad you enjoyed!