1. Yes, it's better to use a single Enemy base object with 4 instances.
2. The main object will be the invisible Enemy sprite, ideally it will be used in all game mechanics, AI etc. EnemyWolf, EnemyZombie are just 'skins', they will move with the base sprite and play animations.
3. You still haven't told how big your animations are, how much memory they are using.
If this is a web game, then I believe all graphics will be downloaded once on startup and cached. So the next time players launch the game, it will load quickly.
Memory usage and download times are two very different things. To optimize memory usage you shouldn't create too many images on one layout.
4. Pin attaches one object to another. Hierarchy is like an advanced version of it, I recommend reading about it.
Thank you so much for sharing your knowledge!
1. Okay I will try redoing my code to check for the ID variable instead of the object, and create the clones as suggested.
2. I understand this part, thank you so much.
3. When you mention "on one layout" am I right to say that images that are not loaded on the layout will not take up memory? In this case if I have (zombie, skeleton, pig, monkey, monk, donkey in my monster pool) but I only invoke the 'skins' of zombie and skeleton, the other preloaded skin objects will not take up any memory. Is my understanding correct?
My artist is still preparing the animation and I am not able to test how big the animations are yet. But will certainly test those once ready. And I may pop back with more questions if somehow I am unable to optimise the size and pixels of the animations (hopefully not the case!)
4. Yes I have went to read about it and I think I have an understanding on how this works. Will definitely implement this!