[quote:3d2clzo3]I'll likely migrate to a less simplified engine so attempts to micromanage don't become so problematic. I really do want to complete this final project though if I can.. don't like leaving things so close to finished and giving up.
That might be better, but I don't think you will get anything out of that. "Micromanagement" is the same no matter what software you use, and its not really about that.
As I see it from reading your code is that you have some gaps in the basic knowledge of how things works, which is very common when starting on something like this, and as a result you take the long and difficult path when trying to achieve something. Which gives you the impression that stuff is very difficult or hard to do, even though you expected them to be easy.
And in most cases it is, but only if you have the basic knowledge in place. My guess is that you will run into the same if not more problems if you use another tool, you might have more experience in those at the moment and therefore they seem easier.
If I were you and you still want to give C2 a chance, the first thing you should get to know, and understand very well is how picking of objects works. I don't mean just reading about it, but really understand the logic behind it. Its in my opinion the most important thing in C2 and if you are used to another type of software, picking might be a bit confusing at first. But if this is not understood, you will keep running into problems, when making things that you thought was easy do. And reading your code, it could suggest that you are not really confident with this, so if that's the case I would wait a bit with families and learn how picking works. The moment you understand this and you go back and look at your game, you will see why the amount of "micromanagement" that you do or think you need is doing nothing more that making things a lot more complicated for you than it have to be and is limiting you quite a bit. Because as you do it now, you check against individual instances of object, and that will do nothing other than making things a lot more complicated to do, since you could check against all the objects in one go, but only if you understand the concept of picking the correct objects.
Micromanagement should be that you give enemies different stats such as health, weapons etc. Moving enemies around a map for instant shouldn't be, you should be able to make a random enemy on the map move exactly as you would if it had been another enemy that was chosen to move, the moment you cant do this and you think its because you have to micromanage them, then something is wrong in my opinion. And that's where understanding the concept of picking and family comes into the picture, these to will let you do it without micromanagement, and why understanding these two is crucial if you want to get anywhere with C2.
This is from an old post I did for someone else about how picking works, maybe that can be helpful for you:
This might be helpful.
[quote:3d2clzo3]It sounds like you (not uncommon) get a bit confused about how picking works in C2.
But the way you can look at picking of objects is like a sorting or a reduction machine.
Imagine you have 100 workers with the following attributes.
100 Workers in total
20 Workers are wearing a red shirt.
40 Workers are wearing a blue shirt.
30 Workers are wearing a yellow shirt.
10 workers are not wearing a shirt.
30 Workers are between 40 and 50 years old.
50 Workers are between 20 and 30 years old,
20 Workers are between 60 and 80 years old (No pension for these poor bastards!)
Lets say you want all workers wearing blue shirts and that are above 60 year old to either go home or go to lunch.
So what happens is:
Pick all Workers : You pick all workers that match the condition that they are workers, in this case all are so its 100. (You don't really need this, its only for the explanation.)
Workers must have blue shirts : This will reduce the number to 40 workers.
Workers must be older than 60 : Depending on how many of those 40 workers matching this you will get a new number that further reduce or sort the amount of workers matching the former condition. Lets assume that its 15 workers.
Now we cant reduce the amount anymore and we have found all the workers that match all our conditions. And since we want them to either go home or to lunch, and don't care how many goes where. We can do the following.
For each Worker : This will go through each of the 15 remaining workers and tell each of them to either go home or to lunch.
Go home or Go to Lunch
So that's pretty much how it works whenever you pick objects, that you keep reducing or sorting them until those that remains fit whatever you want. And then if you want them to do different things you throw a "For each" at the end and then the options they have afterwards.