Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

I think I would add set "stopping points", or at least some kind of objectives being reached as the game is played and time is passed. It is innately fun to build paths and try to route enemies along a certain way to get shot at, but ultimately I want to feel like I'm working towards something as I'm playing. This can be done with story that is unfolding as the game is being played, or being told to survive until a specific day and then maybe getting a moment to rest and assess your layout and such. When I play games I'm usually subconsciously thinking in the back of my mind, "What am I working towards?" In games with traditional levels and such the goal is pretty clearly the end of the level, but if you want to keep it more free form than that then you need to be able to answer that question in some other way.

As for specifics I would add, new towers and ways to defend against enemies, as well as the ability to shape and alter terrain to hurt the enemies or make it more difficult/slow for them to cross would be fun things to unlock as the game progresses. Enemies should of course be evolving as the game goes on to in order to slightly mitigate, but not completely nullify, these new abilities that are unlocked.