Concept
Currently, elite mode, normal mode and advanced mode all feel about the same to me with the one condition that enemies on elite mode have more health.
Enemies would have a chance of spawning with different AI. Some waves may or may not force the different AI/normal AI-- this would further add flavor. This chance could vary depending on specific factors, be set in stone, etc.
One of the main benefits to this suggestion is that ideas like these are or should be relatively easy to code as they make use of the existing AI and variables set in place-- making for an exciting update with a relatively small amount of programming work required. Another would be that not every enemy requires alternate AI at once, and AI could be updated on whim.
Examples and Ideas
Gun puppies: Shoot at an angle of toward the knight + a random offset between -30 and 30.
Polyps: Prioritize the furthest knight in range whenever attacking.
Howlitzer: Aim for a different knight every shot if possible
Gremlin Mender: Run up to mobs before healing them if possible, if a knight approaches cast the healing bubble immediately rather than at low health.
Silkwing: Switch the AI of the healed mob. This includes healing from mist circle spawned on death if possible.
Gremlin Thwacker: Attempt to walk up to the knight constantly and spin. Don't jump backwards to dodge.
Devilite: If there exists a pit boss, do nothing but dodge and walk towards the pit boss whenever possible. If there is not a pit boss, don't dodge ever- throw furniture constantly.
Overtimer: Circle strafe around until the knight is in range, melee only.
Wolver: Teleport when knights swing their sword rather than fire their gun.
Alpha wolver: Aim left or right of the knight, just as the gun puppy does.
Gel Drops: Move away from the closest gel drop instead of towards the knight, until a certain distance is reached, then resume normal behaviour.
Lumber: If made to turn more than 120 degrees-- that is, the knight that it is aggroing it requires a 120 degree turn, turn the other way 45 degrees and then smash.
Trojan: Prioritize players that are moving over players that are standing still.
Jelly minis: Attack whenever the knight is moving towards the minis, over writing the approaching behaviour.
Jelly Cubes: Run away from the knight and spam the ranged ground spine attack.
Giant Lichen Colony: Dash away from knights rather than towards them. Prioritize the random spike flinging.
Pit Boss: All promotions = alternate AI
Griever: If staggered, change target as soon as possible.
And Maybe Some Bosses Too
Roarmulus: 50% chance of not moving to a new position. Much higher chance of shooting the lasers in final phase.
Snarbolax: Only attempt to bite the knights. Does nothing else.
Jelly King: Spin in a straight line for half the time during phase 3. During phase 2, move towards the nearest polyp instead of the knights when at less than half health.
Vanaduke: If the knight with aggro requires more than a 90 degree turn to get to, smash the ground and aggro a new player. Prioritize aggroing the knight that has done the LEAST damage.
We, as the player, need a challenge when playing. Otherwise it feels like we're just beating rocks with a pipe.