I'm in the process of creating the enemy for my tower defense game.
I want one enemy to be tanky (lots of health) one enemy to be fast one enemy to cast spells to boost other enemies
Based on my research, I could create an enemy base class, then create a script for each enemy type (Tank, Speed, Enchanter). I would then need to place them on each respective prefab but I'm wondering whether this is good practice? Let's say that I have 100 enemy types, do I need to create 100 scripts and prefabs for it?
On another note, I'm planning to use scriptable objects for the enemy stats but I'm a bit confused on how to implement it. I would create one enemy prefab, feed it the scriptable object of my enemy (e.g some SO has lots of health, some has lots of speed) but I'm not too sure how can I implement different behaviors for each enemy type.
Thank you!