Comments,
Warning: I only played the first character on the first level
About Level Edges: (You probably have this already figured out) Being teleported to the centre of the map is op because its an instant escape tool, perhaps map colliders?
Balancing:
-HP regen + Movement Speed-
Having movement speed + healthregen allowed me to move through anything and not pay the price for it as I just regened the health right up, it bit me in the ass in the last 1 minute because of the whole many enemies spawn thing.
-Fire +1 and the other dmg upgrades-
Giving me the fire +1 projectiles upgrade next to all the other ones seems off. Its the strongest one as its a 100% dmg boost, whereas the crit 5% is poop and the 50% attack speed is better than crit but worse than the spawn +1 projectiles, so what incentive do I have to ever pick crit when its juxtaposed with all the other ones.
I didnt see the reason to pick anything other than the +1 fire proj and attack speed upgrades due to the numbers.
Solution: I have no idea, maybe show that the +1 fire proj is epic whereas the crit is common in terms of rarity and have the upgrades imporve over tiem so that in the first few upgrade selections I dont see epic upgrades etc.
Enemy Spawning:
Enemy spawn patterns are nice but it would probably be easier on you to have them randomized and it would lead to better gameplay. I only played level one so if it is already randomized you can avoid reading what I wrote here.
-
Example, you have sequences where you spawn only slimes, only weird girl which moves at you if youre not looking, small basic enemies, ranged enemies but no other enemy type is being spawned. Whats the decision behind this? Would it not be better to have a variety of them or have these scripted events occur at the same time that you want them to be but the SPAWN-only type to be mixed/different? that way you dont have to script it spawning X-only for Y seconds, but just tell it to spawn RANDOM-only for Y seconds and depending on the decision logic you wrote have it select the RANDOM.
It is fun to see a bunch of the same enemies fill the arena but perhaps this can occur while other enemies are present there.
Benefits, spices up things, the player has to switch up his decision pattern during the level due to there not being only ONE enemy behaviour type on screen.
Drawbacks, will bring a balance headache.
About the spawn type when it spawns a bunch of enemies in a line horizontally or vertically, nice and cool (maybe allow for ranged enemies to be spawned in like that :3)
-
Enemy Attack behavior types:
Classic stuff, no complaints/ideas there but I had some stuff to say about player behaviour.
Related to Player Standing Still:
It would be nice to have something which spawns an indicator at your position which you have to move out of as that would force me the player to not stay still. I could stand still between mins 11-3 except for when the fire totem guys were spawning but after they despawned i could just sit in place again due to my damage output. Instead of nerfing damage output u can add something which "prevents" such player behaviour.
Related to Player moving forwards while plowing through enemies:
Due to the damage output + healing the player can just hold any direction key and face his mouse in that direction and just blaze through enemies and just keep going. ( I did this from minute 5 till minute 1, i just held d or a on repeat). Is a solution needed for this? you decide; my recommendation iis that you create an enemy behaviour which prevents the player from moving in one direction, like a predictive attack which takes in the player's/target's forward to calculate the position of where to land. This will force the player to switch up his movement pattern.
Now, is it worth nerfing the player/upgrades AND/OR adding these extra attack behaviours? I have no idea, but its probably good to have more enemy attack behaviours. (I will have to add them as well to my game :3)
Maps
It gets dull looking at the same map for 15 minutes straight.
Solutions:
Option 1: Change the directional light color over time to simulate day to night or smth, basically a level color variation over time or just as a function of time.
Option 2: A Little intermission during the level, at the for example 7 minute mark, to allow for a level swap. (it just swaps to the level with a different color palette)
Options 3: Moving level parts. This idea sounds a bit out of scope to me.
Meta Progression
Get Gold, Get new heroes, nice and ok, anything you want to do with get X on killing N amount of Y enemy-types, like player has killed 100 small eyeballs, reward him with a character etc (or a steam achievement).
Polish
You probably know what needs polishing so i'm not gonna comment on this, if you want me to do so just reply or smth.
I will say though the chrommatic aberation + bloom annihilates my eyes but thats just me.
Conclusion
Fun game, gets a bit dull at some points due to the player not having anything to force him to switch up his decision pattern but picks up once he encounters a new enemy-type/spawn-pattern.